/* ============================================================
   GDesign LP — WOW案01
   フラット原則：ベタ塗り＋罫線＋余白。グラデはロゴのリング（原色）のみ
   ============================================================ */
:root{
  --or:#f26522; --or-d:#c63f00; --or-pale:#ffeee5;
  --cy:#22b1f2; --cy-d:#0f87c0;
  --ink:#1f1f1f; --gray:#6f6a64; --paper:#fafafa; --white:#fff;
  --line:#e6e1da; --line-d:#d8d2c9; --warm:#f2eee8;
  --sec:1140px; --hd-h:76px;
  --jp:'Noto Sans JP',sans-serif; --en:'Jost',sans-serif; --serif:'Noto Serif JP',serif;
}

span, em {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--jp);color:var(--ink);background:var(--paper);line-height:1.9;
  font-size:15.5px;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;vertical-align:bottom}
a{color:inherit;text-decoration:none}
ul{list-style:none}
::selection{background:var(--or);color:#fff}

.inner{width:var(--sec);max-width:92%;margin-inline:auto}
.inner--w{width:1400px;max-width:94%}

/* ---------- reveal 基盤 ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)}
.rv.is-in{opacity:1;transform:none}
.rv-l{opacity:0;transform:translateX(-30px);transition:opacity .8s,transform .8s cubic-bezier(.22,.61,.36,1)}
.rv-r{opacity:0;transform:translateX(30px);transition:opacity .8s,transform .8s cubic-bezier(.22,.61,.36,1)}
.rv-l.is-in,.rv-r.is-in{opacity:1;transform:none}
.rv-w{clip-path:inset(0 100% 0 0);transition:clip-path .9s cubic-bezier(.65,0,.35,1)}
.rv-w.is-in{clip-path:inset(0 0 0 0)}

/* ============================================================
   OP ローダー
   ============================================================ */
#op{position:fixed;inset:0;z-index:1000;background:var(--paper);
  display:flex;align-items:center;justify-content:center;
  transition:transform .7s cubic-bezier(.76,0,.24,1) .2s;}
#op.is-done{transform:translateY(-100%)}
.op__mark{position:relative;width:170px;height:170px}
.op__mark svg{width:100%;height:100%;overflow:visible}
.op__mark .arc{stroke-dasharray:100;stroke-dashoffset:100}
body.is-loaded .op__mark .arc-o{animation:draw 1s cubic-bezier(.65,0,.35,1) .15s forwards}
body.is-loaded .op__mark .arc-c{animation:draw 1s cubic-bezier(.65,0,.35,1) .35s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.op__g{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--en);font-weight:800;font-size:74px;color:#454545;
  opacity:0;transform:scale(.7)}
body.is-loaded .op__g{animation:gpop .55s cubic-bezier(.34,1.56,.64,1) .9s forwards}
@keyframes gpop{to{opacity:1;transform:scale(1)}}
.op__t{position:absolute;left:50%;transform:translateX(-50%);bottom:-46px;white-space:nowrap;
  font-family:var(--en);font-weight:600;font-size:13px;letter-spacing:.42em;color:var(--gray);
  opacity:0}
body.is-loaded .op__t{animation:fadein .6s ease 1.1s forwards}
@keyframes fadein{to{opacity:1}}

/* ============================================================
   ヘッダー
   ============================================================ */
.hd{position:fixed;top:0;left:0;right:0;z-index:900;height:var(--hd-h);
  background:var(--white);box-shadow:0 2px 6px rgba(0,0,0,.06);
  display:flex;align-items:center;padding:0 0 0 max(4vw,28px);
  transform:translateY(-100%);transition:transform .7s cubic-bezier(.22,.61,.36,1)}
body.is-ready .hd{transform:none}
.hd__logo img{height:30px}
.hd__nav{display:flex;gap:34px;margin-left:auto;margin-right:38px}
.hd__nav a{font-size:13.5px;font-weight:700;position:relative;padding:6px 0}
.hd__nav a small{display:block;font-family:var(--en);font-weight:600;font-size:10px;
  letter-spacing:.18em;color:var(--or);line-height:1.2;text-align:center}
.hd__nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;
  background:var(--or);transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.65,0,.35,1)}
.hd__nav a:hover::after{transform:scaleX(1);transform-origin:left}
.hd__cta{align-self:stretch;display:inline-flex;align-items:center;gap:10px;padding:0 34px;
  background:var(--or);color:#fff;font-weight:700;font-size:14.5px;position:relative;overflow:hidden}
.hd__cta svg{width:17px;height:17px;position:relative;z-index:1}
.hd__cta span{position:relative;z-index:1}
.hd__cta::before{content:"";position:absolute;inset:0;background:var(--or-d);
  transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.65,0,.35,1)}
.hd__cta:hover::before{transform:scaleX(1);transform-origin:left}

/* ハンバーガー（SP/タブレットのみ表示・開くと×に変形） */
.hd__burger{display:none;align-self:stretch;flex:0 0 58px;width:58px;position:relative;
  background:none;border:none;padding:0;cursor:pointer}
.hd__burger span{position:absolute;left:50%;margin-left:-11px;width:22px;height:2px;
  background:var(--ink);transition:transform .3s cubic-bezier(.65,0,.35,1),opacity .2s}
.hd__burger span:nth-child(1){top:calc(50% - 7px)}
.hd__burger span:nth-child(2){top:50%}
.hd__burger span:nth-child(3){top:calc(50% + 7px)}
body.drw-open .hd__burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.drw-open .hd__burger span:nth-child(2){opacity:0}
body.drw-open .hd__burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ドロワー本体（ヘッダーより下のレイヤー＝バーガーは常に押せる） */
.drw{position:fixed;top:0;right:0;z-index:880;width:min(86vw,340px);
  height:100vh;height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;
  background:var(--white);box-shadow:-16px 0 44px -24px rgba(31,31,31,.5);
  padding:calc(var(--hd-h) + 22px) 24px 34px;
  transform:translateX(105%);visibility:hidden;
  transition:transform .42s cubic-bezier(.22,.61,.36,1)}
.drw.is-open{transform:none;visibility:visible}
.drw__ov{position:fixed;inset:0;z-index:870;background:rgba(31,31,31,.48);
  opacity:0;pointer-events:none;transition:opacity .35s;border:none}
.drw__ov.is-open{opacity:1;pointer-events:auto}
.drw__nav li{border-bottom:1px solid var(--line)}
.drw__nav a{display:block;padding:15px 2px;font-size:16px;font-weight:700}
.drw__nav a small{display:block;font-family:var(--en);font-weight:600;font-size:10px;
  letter-spacing:.2em;color:var(--or);line-height:1.2;margin-bottom:1px}
.drw__foot{margin-top:26px}
.drw__tel{display:flex;align-items:center;gap:9px;font-family:var(--en);font-weight:700;
  font-size:25px;letter-spacing:.01em;color:var(--ink)}
.drw__tel svg{width:19px;height:19px;flex:0 0 19px}
.drw__hours{font-size:12px;font-weight:700;color:var(--gray);margin:2px 0 18px}
.drw .btn{width:100%;min-width:0;height:56px;font-size:15px}

/* ============================================================
   ボタン共通（矩形・矢印は右端絶対配置・スイープ塗り）
   ============================================================ */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;
  min-width:248px;height:64px;padding:0 56px 0 32px;border-radius:4px;
  background:var(--or);color:#fff;font-weight:700;font-size:15.5px;overflow:hidden;
  transition:transform .3s}
.btn span{position:relative;z-index:1}
.btn::before{content:"";position:absolute;inset:0;background:var(--or-d);
  transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.65,0,.35,1)}
.btn:hover::before{transform:scaleX(1);transform-origin:left}
.btn:hover .btn__ar{transform:translateX(5px)}
.btn__ar{position:absolute;right:20px;top:50%;margin-top:-7px;width:18px;height:14px;z-index:1;
  transition:transform .3s}
.btn--ghost{background:transparent;border:2px solid var(--ink);color:var(--ink)}
.btn--ghost::before{background:var(--ink)}
.btn--ghost:hover{color:#fff}
.btn--ghost:hover .btn__ar path{stroke:#fff}
.btn--ghost .btn__ar path{transition:stroke .3s}
.btn--white{background:#fff;color:var(--or)}
.btn--white::before{background:var(--ink)}
.btn--white:hover{color:#fff}
.btn--white:hover .btn__ar path{stroke:#fff}

/* ============================================================
   見出し共通
   ============================================================ */
.tt{margin-bottom:46px}
.tt__en{display:flex;align-items:center;gap:10px;font-family:var(--en);font-weight:600;
  font-size:14px;letter-spacing:.3em;color:var(--or);text-transform:uppercase}
.tt__en::before{content:"";width:9px;height:9px;background:var(--or)}
.tt__jp{font-size:38px;font-weight:900;line-height:1.5;letter-spacing:.04em;margin-top:8px}
.tt__jp .em{color:var(--or)}
.tt--c{text-align:center}
.tt--c .tt__en{justify-content:center}
.tt--w .tt__en{color:#fff}.tt--w .tt__en::before{background:#fff}
.tt--w .tt__jp{color:#fff}

/* 行クリップ・リビール（ヒーロー用） */
.l{display:block;overflow:hidden}
.l>span{display:block;transform:translateY(112%);transition:transform 1s cubic-bezier(.22,.61,.36,1)}
body.is-ready .l>span{transform:none}

/* ============================================================
   ヒーロー
   ============================================================ */
/* コンテナは使わず画面基準（左右 4vw）で組む */
.mv{position:relative;min-height:100svh;display:flex;align-items:center;
  padding:calc(var(--hd-h) + 2svh) 4vw 262px;overflow:hidden}
.mv__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:3.5vw;align-items:center;width:100%;
  position:relative;z-index:1}
.mv__label{display:inline-flex;align-items:center;gap:10px;font-family:var(--en);font-weight:600;
  font-size:13.5px;letter-spacing:.3em;color:var(--gray)}
.mv__label::before{content:"";width:34px;height:2px;background:var(--or)}
.mv__h1{font-size:3.6vw;font-weight:900;line-height:1.62;letter-spacing:.03em;margin:18px 0 22px}
.mv__h1 .zero{font-family:var(--en);font-weight:700;font-size:1.45em;color:var(--or);
  line-height:1;padding:0 .04em;position:relative}
.mv__h1 .zero::after{content:"";position:absolute;left:12%;bottom:-2px;width:76%;height:5px;background:var(--cy)}
.mv__lead{color:var(--gray);font-weight:500;max-width:34em}
/* 金額は大きく明快に */
.mv__price{display:flex;align-items:stretch;gap:16px;margin:28px 0 32px}
.mv__chip{background:var(--white);border:2px solid var(--line-d);border-radius:4px;
  padding:14px 30px 18px}
.mv__chipin{display:flex;flex-direction:column;gap:2px}
.mv__chip dt{font-size:13.5px;font-weight:900;color:var(--gray)}
.mv__chip dd{font-family:var(--en);font-weight:700;font-size:54px;line-height:1.1;color:var(--ink);
  letter-spacing:.01em}
.mv__chip--or{border-color:var(--or)}
.mv__chip--or dt{color:var(--or)}
.mv__chip--or dd{color:var(--or)}
.mv__btns{display:flex;gap:16px;flex-wrap:wrap}
/* 右ビジュアル */
.mv__vis{position:relative}
.mv__movie{position:relative;border-radius:4px;overflow:hidden;border:1px solid var(--line);
  box-shadow:0 20px 50px -30px rgba(31,31,31,.35)}
.mv__movie video{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;background:var(--or-pale)}
.mv__movie::after{content:"WEB DESIGN OFFICE IN GIFU";position:absolute;left:14px;bottom:10px;
  font-family:var(--en);font-weight:600;font-size:10.5px;letter-spacing:.3em;color:#fff;opacity:.85}
.mv__tag{position:absolute;right:14px;bottom:-24px;z-index:2;background:var(--ink);color:#fff;
  border-radius:4px;padding:14px 22px;font-weight:700;font-size:13.5px;line-height:1.7}
.mv__tag b{font-family:var(--en);font-weight:700;font-size:26px;color:#fff;margin-right:2px}
.mv__tag i{font-style:normal;color:var(--cy)}
/* ヒーロー下部：制作事例の2段マーキー（賑やかさ担当） */
.mv__marqs{position:absolute;left:0;right:0;bottom:18px;z-index:2;display:flex;flex-direction:column;
  gap:12px;opacity:0;transition:opacity 1s ease 1.2s}
body.is-ready .mv__marqs{opacity:1}
.mv__marq{overflow:hidden}
.marq__track{display:flex;gap:14px;width:max-content;animation:marq 55s linear infinite}
.mv__marq--rev .marq__track{animation-direction:reverse;animation-duration:64s}
.marq__track img{width:190px;aspect-ratio:2/1;object-fit:cover;object-position:top;border-radius:4px;
  border:1px solid var(--line);background:#fff}
@keyframes marq{to{transform:translateX(-50%)}}

/* ============================================================
   WHY（メインセクション：4つの理由＋実例）
   ============================================================ */
.why{padding:120px 0 40px}
.why__note{text-align:center;font-size:12px;color:var(--gray);margin:-28px 0 8px}
.wb{padding:88px 0;border-top:1px solid var(--line)}
.why__note+.wb{border-top:none;padding-top:44px}
.wb__top{display:grid;grid-template-columns:.42fr .58fr;gap:4vw;align-items:center;margin-bottom:38px}
.wb__side{max-width:560px}
.wb__idx{font-family:var(--en);font-weight:700;font-size:96px;line-height:1;
  color:transparent;-webkit-text-stroke:1.5px var(--or)}
.wb__st{display:flex;align-items:center;gap:10px;font-family:var(--en);font-weight:600;
  font-size:13px;letter-spacing:.28em;color:var(--or);margin:16px 0 10px;text-transform:uppercase}
.wb__st::before{content:"";width:9px;height:9px;background:var(--or)}
.wb__t{font-size:29px;font-weight:900;line-height:1.6}
.wb__t .em{background:linear-gradient(transparent 68%,var(--or-pale) 68%)}
.wb__lead{color:var(--gray);font-weight:500;margin-top:16px;font-size:14.5px}
.wb__caveat{margin-top:14px;font-size:11.5px;color:var(--gray)}
.wb .ng{margin-bottom:32px}

/* 実例カード */
.case{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:30px 30px 34px}
.case__top{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.case__label{display:inline-flex;align-items:center;font-family:var(--en);font-weight:700;
  font-size:12px;letter-spacing:.22em;color:#fff;background:var(--or);border-radius:3px;padding:4px 12px}
.case__site{font-weight:900;font-size:17px}
.case__url{font-family:var(--en);font-weight:500;font-size:12px;color:var(--gray);
  border-bottom:1px solid var(--line-d)}
.case__url:hover{color:var(--or);border-color:var(--or)}
.case__desc{margin-top:14px;color:var(--gray);font-weight:500;font-size:14px;max-width:800px}
.case__btn{height:58px;min-width:320px;margin-top:18px}
.case__grid{display:grid;grid-template-columns:1.04fr .96fr;gap:36px;margin-top:26px;align-items:stretch}
.case__grid .chat--case{max-width:none;margin:0;display:flex;flex-direction:column;justify-content:space-between}
/* 強み→実例 の橋渡しラベル */
.wb__link{display:flex;align-items:center;gap:14px;margin:36px 0 16px;font-size:15.5px;font-weight:900}
.wb__link span{font-family:var(--en);font-weight:700;font-size:10.5px;letter-spacing:.26em;color:var(--or);
  border:1px solid var(--or);border-radius:3px;padding:5px 13px;flex:0 0 auto}
.wb__link::after{content:"";flex:1;height:1px;background:var(--line-d)}

/* ブラウザ枠スクショ（横型・自分でスクロール） */
.shot{position:relative;border:1px solid var(--line-d);border-radius:6px;overflow:hidden;background:#fff}
.shot__bar{display:flex;align-items:center;gap:6px;background:#f1eee9;padding:8px 12px}
.shot__bar i{width:10px;height:10px;border-radius:50%}
.shot__bar i:nth-child(1){background:var(--or)}
.shot__bar i:nth-child(2){background:#f2b322}
.shot__bar i:nth-child(3){background:var(--cy)}
.shot__url{flex:1;margin-left:6px;background:#fff;border-radius:3px;font-family:var(--en);
  font-size:11px;color:var(--gray);padding:3px 10px;font-weight:500;white-space:nowrap;overflow:hidden}
.shot__view{display:block;aspect-ratio:16/9;height:auto;overflow-y:auto;overscroll-behavior:contain}
.shot__view::-webkit-scrollbar{width:9px}
.shot__view::-webkit-scrollbar-track{background:#f1eee9}
.shot__view::-webkit-scrollbar-thumb{background:var(--or);border-radius:99px;border:2px solid #f1eee9}
.shot__view img{width:100%;height:auto;display:block}
/* LIVE チップ（ブラウザバー右端） */
.shot__live{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--or);
  color:var(--or);font-family:var(--en);font-weight:700;font-size:9.5px;letter-spacing:.18em;
  border-radius:3px;padding:3px 10px;margin-left:8px}
.shot__live i{width:6px;height:6px;border-radius:50%;background:var(--or);animation:blink 1.2s steps(2) infinite}
/* フロート型スクロールヒント */
.shot__float{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:2;pointer-events:none;
  display:flex;align-items:center;gap:12px;background:rgba(31,31,31,.92);color:#fff;border-radius:4px;
  padding:12px 22px;font-size:12.5px;font-weight:700;letter-spacing:.04em;
  box-shadow:0 12px 28px -12px rgba(0,0,0,.55)}
.shot__float i{font-family:var(--en);font-style:normal;font-weight:600;font-size:10px;letter-spacing:.3em;
  color:#ffb48d;border-left:1px solid #565656;padding-left:12px}
.shot__mouse{width:15px;height:23px;flex:0 0 15px}
.shot__wheel{animation:wheel 1.6s ease-in-out infinite}
@keyframes wheel{0%{transform:translateY(0);opacity:1}55%{transform:translateY(8px);opacity:0}
60%{transform:translateY(0);opacity:0}100%{opacity:1}}

/* 実例チャット（コンパクト版・モックと同じ高さに収める） */
.chat--case{border:none;background:none;padding:0}
.chat--case .msg{margin-bottom:0}
.chat--case .msg__av{flex:0 0 34px;width:34px;height:34px}
.chat--case .msg__name{font-size:10.5px;margin-bottom:3px}
.chat--case .msg__bub{font-size:12.8px;padding:10px 14px;line-height:1.72}
.msg__av--face{padding:0;overflow:hidden}
.msg__av--face img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.msg__av--jp span{font-family:var(--jp);font-size:14px;font-weight:700;color:#454545}

/* 検索モック（ミニ版） */
.serp--mini{padding:20px 22px 22px;border:1px solid var(--line);box-shadow:none}
.serp--mini .serp__bar{padding:10px 14px;font-size:14.5px}
.serp--mini .serp__list{height:372px;margin-top:14px}

/* 写真（訪問打ち合わせ） */
.pstrip{display:block}
.pstrip figure{position:relative;border-radius:4px;overflow:hidden;border:1px solid var(--line)}
.pstrip img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.pstrip figcaption{position:absolute;left:12px;bottom:10px;background:rgba(31,31,31,.82);color:#fff;
  font-size:11.5px;font-weight:700;border-radius:3px;padding:5px 13px;letter-spacing:.05em}

/* FVカルーセル（個人事業主・店舗の制作例） */
.fvcar{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:18px 18px 12px}
.fvcar__t{font-size:13px;font-weight:900;margin-bottom:12px;display:flex;align-items:center;gap:9px}
.fvcar__t::before{content:"";width:8px;height:8px;background:var(--or)}
.fvcar__frame{position:relative;aspect-ratio:2/1;border-radius:3px;overflow:hidden;border:1px solid var(--line)}
.fvcar__frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;
  opacity:0;transform:scale(1.04);transition:opacity .7s ease,transform 1.4s ease}
.fvcar__frame img.is-on{opacity:1;transform:none}
.fvcar__foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 4px 4px}
.fvcar__cap{font-size:12.5px;font-weight:700;color:var(--gray)}
.fvcar__cap b{color:var(--ink);font-size:13.5px;margin-right:9px}
.fvcar__dots{display:flex;gap:8px}
.fvcar__dots button{width:9px;height:9px;border:none;background:var(--line-d);cursor:pointer;padding:0;
  transition:background .3s}
.fvcar__dots button.is-on{background:var(--or)}

/* グラフ（リング＋横棒） */
.g4{display:grid;grid-template-columns:215px minmax(0,1fr);gap:30px;align-items:center;
  background:var(--white);border:1px solid var(--line);border-radius:4px;padding:28px 30px}
.ring{position:relative;width:100%;aspect-ratio:1}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring__tr{fill:none;stroke:#efece7;stroke-width:11}
.ring__val{fill:none;stroke:var(--or);stroke-width:11;stroke-linecap:round;
  stroke-dasharray:0 100;transition:stroke-dasharray 1.5s cubic-bezier(.22,.61,.36,1) .3s}
.ring.is-in .ring__val{stroke-dasharray:var(--val,95) 100}
.ring__c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring__num{font-family:var(--en);font-weight:700;font-size:42px;line-height:1;color:var(--or)}
.ring__num small{font-size:20px}
.ring__cap{font-size:11.5px;font-weight:700;color:var(--gray);margin-top:5px}
.bars{display:flex;flex-direction:column;gap:13px}
.bars__t{font-size:13.5px;font-weight:900;margin-bottom:3px}
.bar{display:grid;grid-template-columns:82px minmax(0,1fr) 42px;align-items:center;gap:12px;
  font-size:12px;font-weight:700;color:var(--gray)}
.bar__track{height:13px;background:#efece7;border-radius:2px;overflow:hidden}
.bar__track i{display:block;height:100%;background:var(--or);width:0;
  transition:width 1.1s cubic-bezier(.22,.61,.36,1)}
.bars.is-in .bar__track i{width:var(--w)}
.bar:nth-of-type(2) .bar__track i{transition-delay:.1s}
.bar:nth-of-type(3) .bar__track i{transition-delay:.2s}
.bar:nth-of-type(4) .bar__track i{transition-delay:.3s}
.bar:nth-of-type(5) .bar__track i{transition-delay:.4s}
.bar:nth-of-type(6) .bar__track i{transition-delay:.5s}
.bar:nth-of-type(7) .bar__track i{transition-delay:.6s}
.bar b{color:var(--ink);font-family:var(--en);text-align:right}
.g4__note{grid-column:1/-1;font-size:11px;color:var(--gray);
  border-top:1px dashed var(--line-d);padding-top:12px}

/* よくあるお悩み × / GDesignの約束 ○ */
.ng{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ng__col{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:22px 24px}
.ng__col--ok{border:2px solid var(--or)}
.ng__h{font-size:14px;font-weight:900;margin-bottom:10px;display:flex;align-items:baseline;gap:10px}
.ng__h small{font-family:var(--en);font-weight:600;font-size:10px;letter-spacing:.2em;color:var(--gray)}
.ng__col li{font-size:13px;font-weight:600;color:var(--gray);padding:8px 0;
  border-top:1px dashed var(--line);display:flex;gap:9px;align-items:baseline}
.ng__col li::before{content:"✕";color:#b3aea7;font-weight:900;flex:0 0 auto}
.ng__col--ok li{color:var(--ink)}
.ng__col--ok li::before{content:"○";color:var(--or)}

/* 汎用チェックタグ（wb側で使用） */
.pillar__note{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}
.pillar__note li{font-size:12.5px;font-weight:700;border:1px solid var(--line-d);border-radius:4px;
  padding:5px 14px;background:var(--white)}
.pillar__note li::before{content:"✓ ";color:var(--or)}

/* ============================================================
   検索モック（ミニ検索デモで使用）
   ============================================================ */
.serp{background:#fff;border-radius:4px;color:var(--ink);padding:26px 28px 30px;
  box-shadow:0 30px 60px -35px rgba(0,0,0,.6)}
.serp__bar{display:flex;align-items:center;gap:12px;border:2px solid var(--ink);border-radius:4px;
  padding:13px 18px;font-size:16px;font-weight:700}
.serp__bar svg{width:19px;height:19px;flex:0 0 19px}
.serp__q{min-height:1.6em}
.serp__q::after{content:"";display:inline-block;width:2px;height:1.05em;background:var(--or);
  vertical-align:-2px;margin-left:2px;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.serp__list{margin-top:22px;display:flex;flex-direction:column;gap:12px;height:372px;overflow:hidden}
.srow{border:1px solid var(--line);border-radius:4px;padding:13px 16px;
  opacity:0;transform:translateY(14px);transition:opacity .5s,transform .5s}
.srow.is-in{opacity:1;transform:none}
.srow__sk i{display:block;height:9px;border-radius:99px;background:#eceae6}
.srow__sk i:first-child{width:52%;height:11px;background:#e0ddd8;margin-bottom:8px}
.srow__sk i:last-child{width:84%}
.srow--hit{border:2px solid var(--or);position:relative;padding:14px 84px 14px 16px}
.srow__url{font-size:11px;color:#3c8a3f;font-weight:500;line-height:1.5}
.srow__t{font-weight:700;font-size:15.5px;color:#1a0dab;line-height:1.6}
.srow__d{font-size:12px;color:var(--gray);line-height:1.7}
.srow__badge{position:absolute;right:16px;top:50%;background:var(--or);color:#fff;border-radius:4px;
  font-weight:900;font-size:14px;padding:7px 13px;transform:translateY(-50%) scale(0);
  transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
.srow.is-in .srow__badge{transform:translateY(-50%) scale(1) rotate(-6deg)}
.serp__note{margin-top:16px;font-size:11.5px;color:var(--gray)}

/* ============================================================
   制作実績（2段マーキー）
   ============================================================ */
.works{padding:110px 0 120px;background:var(--white);border-block:1px solid var(--line);
  overflow:hidden}
.works .tt{margin-bottom:14px}
.works__lead{text-align:center;color:var(--gray);font-weight:500;margin-bottom:52px}
.wgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 24px}
.wcard a{display:block;position:relative;background:var(--paper);border:1px solid var(--line);
  border-radius:4px;padding:10px 10px 16px;
  transition:transform .35s,border-color .35s,box-shadow .35s}
.wcard a:hover{transform:translateY(-5px);border-color:var(--or);
  box-shadow:0 18px 32px -20px rgba(31,31,31,.28)}
.wcard figure{border-radius:3px;overflow:hidden;border:1px solid var(--line);aspect-ratio:2/1;background:#fff}
.wcard img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s}
.wcard a:hover img{transform:scale(1.04)}
.wcard__n{font-weight:900;font-size:15px;margin:13px 8px 0;padding-right:34px}
.wcard__k{font-size:12px;font-weight:600;color:var(--gray);margin:2px 8px 0}
.wcard__ar{position:absolute;right:16px;bottom:18px;width:28px;height:28px;border:1px solid var(--or);
  border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background .3s}
.wcard__ar svg{width:12px;height:12px}
.wcard__ar svg path{stroke:var(--or);transition:stroke .3s}
.wcard a:hover .wcard__ar{background:var(--or)}
.wcard a:hover .wcard__ar svg path{stroke:#fff}

/* ============================================================
   お客様の声（チャット）
   ============================================================ */
.voice{padding:120px 0}
.voice__grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:6vw;align-items:start}
.voice__side{position:sticky;top:calc(var(--hd-h) + 40px)}
.voice__side .tt{margin-bottom:24px}
.voice__side p{color:var(--gray);font-weight:500;max-width:30em}
.chat{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:30px 26px 34px}
.chat__day{text-align:center;margin-bottom:18px}
.chat__day span{display:inline-block;background:var(--paper);border:1px solid var(--line);
  border-radius:99px;font-size:11px;font-weight:700;color:var(--gray);padding:3px 16px}
.msg{display:flex;gap:12px;margin-bottom:20px;opacity:0;transform:translateY(16px);
  transition:opacity .55s,transform .55s}
.msg.is-in{opacity:1;transform:none}
.msg__av{flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--paper);
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden}
.msg__av svg{width:24px;height:24px}
.msg__av span{font-family:var(--en);font-weight:700;font-size:15px;color:#454545}
.msg__body{max-width:76%}
.msg__name{font-size:11px;font-weight:700;color:var(--gray);margin-bottom:4px}
.msg__bub{background:var(--white);border:1px solid var(--line-d);border-radius:2px 14px 14px 14px;
  padding:13px 17px;font-size:14px;font-weight:500;line-height:1.85}
.msg__bub .em{background:linear-gradient(transparent 66%,var(--or-pale) 66%);font-weight:700}
.msg--me{flex-direction:row-reverse}
.msg--me .msg__bub{background:var(--or);border-color:var(--or);color:#fff;border-radius:14px 2px 14px 14px}
.msg__time{align-self:flex-end;font-size:10.5px;color:#b3aea7;font-family:var(--en);font-weight:500}

/* ============================================================
   料金
   ============================================================ */
.price{background:var(--or-pale);padding:120px 0 130px;position:relative;overflow:hidden}
.price__card{background:var(--white);border-radius:4px;border:1px solid var(--line);
  display:grid;grid-template-columns:.92fr 1.08fr;overflow:hidden;
  box-shadow:0 30px 70px -45px rgba(198,63,0,.4)}
.price__left{background:var(--white);padding:56px 48px;position:relative;overflow:hidden;
  border-right:1px solid var(--line)}
.price__left .ringbg{position:absolute;left:-70px;bottom:-90px;width:280px;height:280px;opacity:.12}
.price__plan{font-family:var(--en);font-weight:600;font-size:13px;letter-spacing:.34em;color:var(--or)}
.price__h{font-size:25px;font-weight:900;line-height:1.6;margin:10px 0 30px}
.price__row{display:flex;align-items:baseline;justify-content:space-between;
  border-bottom:1px solid var(--line);padding:16px 2px}
.price__row dt{font-size:14px;font-weight:700;color:var(--gray)}
.price__row dd{font-family:var(--en);font-weight:700;font-size:46px;line-height:1}
.price__row dd small{font-size:17px;font-weight:600;margin-left:4px}
.price__row--or dd{color:var(--or)}
.price__note{margin-top:24px;font-size:12px;color:var(--gray);line-height:2}
.price__right{padding:52px 48px 56px}
.price__rt{font-size:17px;font-weight:900;display:flex;align-items:center;gap:12px;margin-bottom:26px}
.price__rt::after{content:"";flex:1;height:1px;background:var(--line)}
.inc{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.inc li{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:4px;
  padding:13px 16px;font-weight:700;font-size:13.8px;
  opacity:0;transform:translateY(14px);transition:opacity .5s,transform .5s}
.inc.is-in li{opacity:1;transform:none}
.inc li:nth-child(1){transition-delay:.05s}.inc li:nth-child(2){transition-delay:.12s}
.inc li:nth-child(3){transition-delay:.19s}.inc li:nth-child(4){transition-delay:.26s}
.inc li:nth-child(5){transition-delay:.33s}.inc li:nth-child(6){transition-delay:.4s}
.inc li img{width:34px;height:34px;object-fit:contain;flex:0 0 34px}
/* ---------- 別途費用（料金カードの直下） ----------
   「なんだかんだ追加費用がかかるのでは」という不安を先につぶすため、
   カード内の小さな注記（.price__caveat）から独立したパネルに変更 */
.extra{margin-top:24px;background:var(--white);border:1px solid var(--or);border-radius:4px;
  padding:28px 34px 30px;box-shadow:0 30px 70px -45px rgba(198,63,0,.4)}
.extra__h{font-size:18px;font-weight:900;color:var(--or-d);line-height:1.6;
  padding-left:14px;border-left:4px solid var(--or)}
.extra__list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 24px;margin-top:22px}
.extra__list li{display:flex;align-items:flex-start;gap:12px;background:var(--paper);
  border:1px solid var(--line);border-radius:4px;padding:16px 18px}
.extra__n{flex:0 0 26px;height:26px;border-radius:50%;background:var(--or);color:#fff;
  font-family:var(--en);font-weight:700;font-size:14px;line-height:26px;text-align:center}
.extra__t{font-size:13.5px;font-weight:500;line-height:1.95}
.extra__note{margin-top:20px;font-size:12px;color:var(--gray);line-height:2}

/* ============================================================
   FAQ
   ============================================================ */
.faqs{padding:120px 0}
.faqs__wrap{max-width:800px;margin-inline:auto}
.qa{border:1px solid var(--line);border-radius:4px;background:var(--white);margin-bottom:14px;overflow:hidden}
.qa__q{width:100%;display:flex;align-items:center;gap:16px;padding:20px 58px 20px 22px;
  background:none;border:none;cursor:pointer;text-align:left;font-family:var(--jp);
  font-size:15.5px;font-weight:700;color:var(--ink);position:relative;line-height:1.7}
.qa__q::before{content:"Q";font-family:var(--en);font-weight:700;font-size:19px;color:var(--or);
  flex:0 0 22px;text-align:center}
.qa__ic{position:absolute;right:20px;top:50%;width:16px;height:16px;margin-top:-8px}
.qa__ic::before,.qa__ic::after{content:"";position:absolute;background:var(--or);transition:transform .4s}
.qa__ic::before{left:0;top:7px;width:16px;height:2px}
.qa__ic::after{left:7px;top:0;width:2px;height:16px}
.qa.is-open .qa__ic::after{transform:scaleY(0)}
.qa__a{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.65,0,.35,1)}
/* 回答の <p> を flex コンテナにすると、本文中の <a> 等が独立した flex アイテムになり
   細い列に潰れる（「詳しくは 対応エリア をご覧ください」が縦書きになる症状）。
   A ラベルは絶対配置にして、本文は通常のテキストとして流す */
.qa__a-in{display:block;position:relative;padding:2px 22px 24px 60px;
  color:var(--gray);font-weight:500;font-size:14.5px}
.qa__a-in::before{content:"A";position:absolute;left:22px;top:2px;width:22px;
  font-family:var(--en);font-weight:700;font-size:19px;color:var(--cy);text-align:center}
.qa__a-in a{color:var(--or-d);font-weight:700;text-decoration:underline}

/* ============================================================
   代表挨拶
   ============================================================ */
.msgs{background:var(--white);border-block:1px solid var(--line);padding:120px 0;overflow:hidden}
.msgs__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;align-items:center}
.msgs__fig{position:relative}
.msgs__fig img{border-radius:4px;border:1px solid var(--line)}
.msgs__fig::before{content:"";position:absolute;left:-16px;top:-16px;width:110px;height:110px;
  background:var(--or-pale);z-index:-1}
.msgs__fig figcaption{position:absolute;right:-10px;bottom:-14px;background:var(--ink);color:#fff;
  border-radius:4px;font-size:11.5px;font-weight:700;padding:8px 16px;letter-spacing:.06em}
.msgs__txt p{color:var(--gray);font-weight:500;margin-bottom:1.3em;max-width:36em}
.msgs__sign{text-align:right;font-family:var(--serif);font-weight:600;margin-top:34px}
.msgs__sign small{display:block;font-size:12px;color:var(--gray);letter-spacing:.1em}
.msgs__sign b{font-size:25px;letter-spacing:.2em;font-weight:600}

/* ============================================================
   中間CTA（セクション間の問い合わせ導線）
   ============================================================ */
.midcta{background:var(--or);color:#fff;padding:34px 4vw}
.midcta__in{display:flex;align-items:center;justify-content:center;gap:34px;flex-wrap:wrap}
.midcta__t{font-size:19px;font-weight:900}
.midcta__t small{display:block;font-size:12px;font-weight:700;opacity:.9;margin-top:2px}
.midcta__tel{color:#fff;text-align:left}
.midcta__tel b{font-family:var(--en);font-weight:700;font-size:31px;display:inline-flex;align-items:center;gap:9px}
.midcta__tel b svg{width:21px;height:21px}
.midcta__tel small{display:block;font-size:11px;font-weight:700;opacity:.9}
.midcta .btn{min-width:250px;height:56px}

/* ============================================================
   お問い合わせ（依頼の流れ＋直書きフォーム）
   ============================================================ */
.contact{background:var(--or-pale);padding:110px 0 120px}
.contact .tt{margin-bottom:16px}
.contact__lead{text-align:center;color:var(--gray);font-weight:500;margin-bottom:26px}
.contact__badge{display:flex;justify-content:center;margin-bottom:46px}
.contact__badge span{background:var(--or);color:#fff;font-weight:900;font-size:15.5px;border-radius:4px;
  padding:13px 34px}
/* 依頼の流れ（4ステップ） */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:64px}
.fstep{position:relative;background:var(--white);border:1px solid var(--line);border-radius:4px;
  padding:24px 22px 22px}
.fstep::after{content:"";position:absolute;right:-15px;top:50%;width:10px;height:10px;margin-top:-5px;
  border-top:2px solid var(--or);border-right:2px solid var(--or);transform:rotate(45deg)}
.fstep:last-child::after{display:none}
.fstep__n{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;
  background:var(--or);color:#fff;border-radius:4px;font-family:var(--en);font-weight:700;font-size:14px}
.fstep__ic{height:46px;display:flex;align-items:center;margin:14px 0 8px}
.fstep__ic svg{width:40px;height:40px}
.fstep__t{font-size:16.5px;font-weight:900;margin-bottom:8px}
.fstep__x{font-size:12.8px;color:var(--gray);font-weight:500;line-height:1.9}
/* 電話ボックス＋フォーム */
.contact__grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:32px;align-items:start}
.telbox{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:34px 32px;text-align:center}
.telbox__h{font-size:15px;font-weight:900;margin-bottom:12px}
.telbox__tel{font-family:var(--en);font-weight:700;font-size:41px;line-height:1.2;
  display:inline-flex;align-items:center;gap:11px;color:var(--ink)}
.telbox__tel svg{width:27px;height:27px}
.telbox__hours{font-size:12.5px;font-weight:700;color:var(--gray);margin-top:6px}
.telbox__note{margin-top:20px;border-top:1px dashed var(--line-d);padding-top:18px;
  font-size:13px;color:var(--gray);font-weight:500;text-align:left;line-height:2}
.telbox__note b{color:var(--ink)}
.cform{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:32px 34px 36px}
.cform__h{font-size:15px;font-weight:900;margin-bottom:20px;display:flex;gap:10px;align-items:center}
.cform__h::before{content:"";width:9px;height:9px;background:var(--or)}
.f{display:block;margin-bottom:15px}
.f__t{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;margin-bottom:6px}
.req,.opt{font-size:10px;font-weight:700;border-radius:3px;padding:2px 8px;color:#fff}
.req{background:var(--or)}
.opt{background:#b3aea7}
.cform input[type=text],.cform input[type=tel],.cform input[type=email],.cform textarea{
  width:100%;border:1px solid var(--line-d);border-radius:4px;background:var(--paper);
  padding:12px 14px;font-family:var(--jp);font-size:14px;transition:border-color .3s,background .3s}
.cform input:focus,.cform textarea:focus{outline:none;border-color:var(--or);background:#fff}
.cform textarea{min-height:104px;resize:vertical}
.cform__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cform__radios{display:flex;gap:10px;flex-wrap:wrap}
.cform__radio input{display:none}
.cform__radio span{display:inline-block;border:1px solid var(--line-d);border-radius:4px;
  padding:9px 16px;font-size:13px;font-weight:700;cursor:pointer;transition:.3s;background:var(--paper)}
.cform__radio input:checked+span{background:var(--or);border-color:var(--or);color:#fff}
.cform__agree{display:flex;gap:9px;align-items:baseline;font-size:12.5px;color:var(--gray);
  font-weight:500;margin:4px 0 18px}
.cform__agree a{text-decoration:underline}
.cform__btn{width:100%;height:64px}
.cform__ps{font-size:11.5px;color:var(--gray);margin-top:12px;text-align:center}

/* ---------- Contact Form 7 出力を .cform の見た目に合わせる ---------- */
.cform .wpcf7{margin:0}
.cform .wpcf7-form-control-wrap{display:block}
/* wpautop が挿入する無名 <p> / <br> でレイアウト（.cform__row の2カラム等）が壊れるのを防ぐ */
.cform .wpcf7-form p:not([class]){display:contents}
.cform .wpcf7-form br{display:none}
.cform__row .f{margin-bottom:0}
.cform .screen-reader-response{position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}
.cform .hidden-fields-container{display:none;border:none;padding:0;margin:0}
.cform .wpcf7-list-item{margin:0}
/* ラジオ（お問い合わせ内容） */
.cform .wpcf7-radio{display:flex;gap:10px;flex-wrap:wrap}
.cform .wpcf7-radio label{display:block;cursor:pointer;margin:0}
.cform .wpcf7-radio input{display:none}
.cform .wpcf7-radio .wpcf7-list-item-label{display:inline-block;border:1px solid var(--line-d);
  border-radius:4px;padding:9px 16px;font-size:13px;font-weight:700;cursor:pointer;
  transition:.3s;background:var(--paper)}
.cform .wpcf7-radio input:checked+.wpcf7-list-item-label{background:var(--or);border-color:var(--or);color:#fff}
/* 同意チェック */
.cform__agree .wpcf7-acceptance label{display:flex;gap:9px;align-items:baseline;margin:0;
  font-size:12.5px;font-weight:500;color:var(--gray);line-height:1.8;cursor:pointer}
.cform__agree .wpcf7-acceptance input[type=checkbox]{flex:0 0 auto;accent-color:var(--or)}
.cform__agree .wpcf7-list-item-label a{text-decoration:underline}
/* 送信ボタン（input なので ::before スイープは使わず背景色で） */
.cform__submit{position:relative;margin-top:4px}
.cform__submit input.wpcf7-submit{width:100%;min-width:0;height:64px;border:none;border-radius:4px;
  background:var(--or);color:#fff;font-family:var(--jp);font-weight:700;font-size:15.5px;
  padding:0 56px 0 32px;cursor:pointer;-webkit-appearance:none;appearance:none;
  transition:background .3s}
.cform__submit input.wpcf7-submit:hover{background:var(--or-d)}
.cform__submit .btn__ar{position:absolute;right:20px;top:50%;margin-top:-7px;
  width:18px;height:14px;pointer-events:none}
.cform .wpcf7-spinner{position:absolute;right:-30px;top:50%;margin-top:-12px}
/* バリデーション表示 */
.cform .wpcf7-not-valid-tip{display:block;margin-top:5px;font-size:11.5px;font-weight:700;color:#c63f00}
.cform .wpcf7-not-valid{border-color:#c63f00!important}
.cform .wpcf7 form .wpcf7-response-output{margin:16px 0 0;border:1px solid var(--line-d);
  border-radius:4px;padding:12px 14px;font-size:12.5px;font-weight:700;line-height:1.8}
.cform .wpcf7 form.invalid .wpcf7-response-output,
.cform .wpcf7 form.unaccepted .wpcf7-response-output,
.cform .wpcf7 form.failed .wpcf7-response-output,
.cform .wpcf7 form.aborted .wpcf7-response-output,
.cform .wpcf7 form.spam .wpcf7-response-output{border-color:#c63f00;color:#c63f00;background:#fff5f0}
.cform .wpcf7 form.sent .wpcf7-response-output{border-color:var(--or);color:var(--or);background:var(--or-pale)}

/* ============================================================
   フッター
   ============================================================ */
.ft{background:var(--ink);color:#cfc9c2;padding:74px 0 0}
.ft__grid{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:4vw;padding-bottom:56px;
  align-items:start}
.ft__logo{display:block;margin-bottom:24px}
.ft__logo img{height:96px;width:auto;display:block}
.ft__desc{font-size:13px;font-weight:500;line-height:2.1;max-width:26em}
.ft__h{font-family:var(--en);font-weight:600;font-size:12.5px;letter-spacing:.3em;color:#8b867f;
  margin-bottom:18px;display:flex;align-items:center;gap:9px}
.ft__h::before{content:"";width:8px;height:8px;background:var(--or)}
.ft__office{font-size:13.5px;font-weight:500;line-height:2;font-style:normal;margin-bottom:22px}
.ft__office b{display:block;color:#fff;font-size:14px}
.ft__tel{font-family:var(--en);font-weight:700;font-size:26px;color:#fff}
/* フッターメニュー: [aic_nav class="ft__nav"] は <ul> 自体にクラスが付く。
   カテゴリ（第1階層）ごとにまとめて 2 列に流す */
.ft__nav{column-count:2;column-gap:38px}
.ft__nav > li{break-inside:avoid;-webkit-column-break-inside:avoid;margin-bottom:26px;
  display:inline-block;width:100%}
.ft__nav > li:last-child{margin-bottom:0}
/* カテゴリ見出し（クリック導線ではないので下線もアローも出さない） */
.ft__nav > li > a{display:block;font-family:var(--jp);font-size:12px;font-weight:900;
  letter-spacing:.14em;color:#8b867f;margin-bottom:11px;cursor:default;pointer-events:none}
.ft__nav .sub-menu li{margin-bottom:9px}
.ft__nav .sub-menu li:last-child{margin-bottom:0}
.ft__nav .sub-menu a{font-size:13.5px;font-weight:500;display:inline-flex;align-items:center;gap:9px;
  color:#cfc9c2;transition:color .25s}
.ft__nav .sub-menu a::before{content:"";width:12px;height:1px;background:var(--or);transition:width .3s}
.ft__nav .sub-menu a:hover{color:#fff}
.ft__nav .sub-menu a:hover::before{width:22px}
.ft__cr{border-top:1px solid #3a3a3a;padding:20px 0;font-family:var(--en);font-weight:500;
  font-size:11px;letter-spacing:.18em;color:#8b867f;text-align:center}

/* ============================================================
   スクロール進捗リング（右下）
   ============================================================ */
.prog{position:fixed;right:26px;bottom:26px;z-index:800;width:56px;height:56px;cursor:pointer;
  opacity:0;transform:translateY(14px);transition:opacity .5s,transform .5s;background:none;border:none;padding:0}
.prog.is-show{opacity:1;transform:none}
.prog svg{width:100%;height:100%;transform:rotate(-90deg)}
.prog__bg{fill:var(--white);stroke:var(--line);stroke-width:2}
.prog__bar{fill:none;stroke:var(--or);stroke-width:3;stroke-dasharray:100;stroke-dashoffset:100;
  stroke-linecap:round}
.prog__ar{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.prog__ar svg{width:15px;height:15px;transform:none}
.prog:hover .prog__ar{animation:nudge .5s ease}
@keyframes nudge{50%{transform:translateY(-4px)}}

/* ============================================================
   レスポンシブ
   ============================================================ */
@media(max-width:1100px){
  .mv__h1{font-size:4.4vw}
  .hd__nav{gap:22px}
}
@media(max-width:900px){
  .extra{padding:24px 22px 26px}
  .extra__h{font-size:16.5px}
  .extra__list{grid-template-columns:1fr;gap:12px;margin-top:18px}

  .hd{padding-left:max(4vw,18px)}
  .hd__nav{display:none}
  .hd__burger{display:block}
  .hd__cta{margin-left:auto;padding:0 18px;font-size:13.5px;gap:8px}
  .hd__cta svg{width:15px;height:15px}
  .mv{padding-bottom:250px}
  .mv__grid{grid-template-columns:1fr;gap:48px}
  .mv__chip dd{font-size:42px}
  .wgrid{grid-template-columns:1fr 1fr}
  .mv__h1{font-size:8.6vw}
  .wb__top{grid-template-columns:1fr;gap:32px}
  .wb__side{max-width:none}
  .wb__idx{font-size:72px}
  .case__grid{grid-template-columns:1fr}
  .case__btn{width:100%;min-width:0}
  .g4{grid-template-columns:1fr}
  .ring{max-width:210px;margin-inline:auto}
  .ng{grid-template-columns:1fr}
  .voice__grid{grid-template-columns:1fr;gap:44px}
  .voice__side{position:static}
  .price__card{grid-template-columns:1fr}
  .msgs__grid{grid-template-columns:1fr;gap:44px}
  .msgs__fig{max-width:420px}
  .flow{grid-template-columns:1fr 1fr;gap:16px}
  .fstep::after{display:none}
  .contact__grid{grid-template-columns:1fr}
  .ft__grid{grid-template-columns:1fr;gap:40px}
  .ft__logo img{height:78px}
  .tt__jp{font-size:29px}
}
@media(max-width:680px){
  body{font-size:14.5px}
  .hd__cta{padding:0 13px;font-size:12.5px;gap:6px}
  .hd__logo img{height:25px}
  .tt__jp{font-size:24px}
  .tt{margin-bottom:34px}
  /* スクロールヒントのフロートが枠外にはみ出して1文字ずつ折り返す問題 */
  .shot__float{left:12px;right:12px;transform:none;bottom:12px;justify-content:center;
    gap:8px;padding:9px 12px;font-size:11px;white-space:nowrap}
  .shot__mouse{display:none}
  .shot__float i{font-size:9px;letter-spacing:.2em;padding-left:8px}
  .serp--mini .serp__list{height:318px}
  .prog{right:14px;bottom:14px;width:46px;height:46px}
  .ft__nav{column-count:1}
  .ft__nav > li{margin-bottom:22px}
  .faqs{padding:76px 0}
  .mv__price{flex-direction:column}
  .mv__chip{justify-content:space-between}
  .mv__btns .btn{width:100%}
  .mv__tag{right:6px}
  .inc{grid-template-columns:1fr}
  .case{padding:22px 18px 26px}
  .g4{padding:22px 18px}
  .flow{grid-template-columns:1fr}
  .cform__row{grid-template-columns:1fr}
  .cform{padding:24px 20px 28px}
  .telbox__tel{font-size:33px}
  .rv-l,.rv-r{transform:translateY(26px)}
  .midcta__in{flex-direction:column;gap:16px;text-align:center}
  .midcta__tel{text-align:center}
  .price__left,.price__right{padding:38px 26px}
  .serp{padding:20px 16px 24px}
  .cta__box{padding:30px 22px}
  .marq__track img{width:150px}
  .wgrid{grid-template-columns:1fr}
}

/* ============================================================
   reduced motion
   ============================================================ */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s!important;transition-duration:.001s!important}
  .rv,.rv-l,.rv-r,.msg,.inc li,.srow{opacity:1;transform:none}
  .l>span{transform:none}
}

/* ============================================================
   下層ページ共通（メインサイト用に追加）
   ============================================================ */
.bg1{background:var(--white)}
.pfeat,.worry,.aftersup,.option,.areablk,.areapage,.wlist,.newsblk,.about,.flowpage,.ctablk{
  padding:100px 0}
.pfeat.bg1,.aftersup.bg1,.areablk.bg1,.areapage.bg1,.about.bg1,.flowpage.bg1,.newsblk.bg1{
  border-block:1px solid var(--line)}

/* ページヒーロー（テーマ page-hero.php） */
.page-hero{background:var(--white);border-bottom:1px solid var(--line);
  padding:calc(var(--hd-h) + 74px) 0 54px;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-70px;top:50%;width:280px;height:280px;
  margin-top:-140px;border:34px solid var(--or-pale);border-radius:50%;opacity:.55;pointer-events:none}
.page-hero::before{content:none}
.page-hero__inner{display:block;width:var(--sec);max-width:92%;margin-inline:auto;
  padding-inline:0;position:relative;z-index:1}
.page-hero__box{background:none;border:none;padding:0;text-align:left;max-width:none;
  backdrop-filter:none;-webkit-backdrop-filter:none}
.page-hero__title-en{display:flex;align-items:center;gap:10px;font-family:var(--en);font-weight:600;
  font-size:13px;line-height:1.2;margin:0;letter-spacing:.3em;color:var(--or);text-transform:uppercase}
.page-hero__title-en::before{content:"";width:9px;height:9px;background:var(--or)}
.page-hero__title-jp{font-family:var(--jp);color:var(--ink);font-size:36px;font-weight:900;
  letter-spacing:.04em;line-height:1.45;margin:9px 0 0}

/* 下層ページの h1（テーマの page-hero は <p> 出力で h1 を持たないため、
   各下層ページの最初のセクション先頭に置く見出し） */
.pglead__h{font-size:30px;font-weight:900;line-height:1.55;letter-spacing:.03em;
  text-align:center;margin-bottom:22px}

/* 小見出し（セクション内の区切り・全ページで使い回す） */
.subttl{display:flex;align-items:center;gap:18px;font-weight:900;font-size:17px;
  margin:56px 0 26px;color:var(--ink)}
/* 直前が見出し・リード文・アンカーナビのときだけ上余白を詰める。
   それ以外（数値ストリップの直後など）は 56px 空ける */
.tt + .subttl,.sect-lead + .subttl,.anchors + .subttl,.faqs__intro + .subttl{margin-top:0}
.subttl::before,.subttl::after{content:"";height:1px;background:var(--line-d);flex:1}
.subttl span{flex:0 0 auto}

/* 「もっと見る」系ボタン行（実績・FAQ・料金・代表挨拶で共用） */
.works__more,.faqs__more,.price__more,.msgs__more{margin-top:46px;text-align:center}
.msgs__more{text-align:right}

/* ============================================================
   料金ページ：含まれるもの詳細 / 月額制の不安 / オプション
   ============================================================ */
.pfeat__list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pfeat__item{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:28px 26px 30px}
.pfeat.bg1 .pfeat__item{background:var(--paper)}
.pfeat__h{display:flex;align-items:baseline;gap:12px;font-weight:900;font-size:17px;line-height:1.5}
.pfeat__n{font-family:var(--en);font-weight:700;font-size:13px;letter-spacing:.1em;color:var(--or);
  flex:0 0 auto}
.pfeat__lead{font-weight:700;font-size:14px;color:var(--or-d);margin-top:12px}
.pfeat__x{font-size:14px;font-weight:500;color:var(--gray);margin-top:8px;line-height:1.85}

.worry__lead,.aftersup__lead,.option__lead,.areablk__lead,.areapage__lead,.areapage__x,
.wlist__lead,.flowpage__lead,.faqs__intro,.ctablk__lead{
  color:var(--gray);font-weight:500;max-width:44em;margin-inline:auto;text-align:center}
.worry__lead,.faqs__intro{margin-bottom:44px}
.aftersup__lead,.option__lead{margin-bottom:34px}
.areapage__lead,.wlist__lead,.flowpage__lead{max-width:46em;margin-bottom:26px}
.areablk__lead{margin-bottom:40px}
.areapage__x{margin-bottom:34px}
.areapage__lead b,.flowpage__lead b{color:var(--ink);font-weight:900}

.optlist{max-width:760px;margin-inline:auto;display:grid;gap:10px}
.optlist li{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
  background:var(--white);border:1px solid var(--line);border-radius:4px;
  padding:16px 22px;font-weight:700;font-size:15px;position:relative;padding-left:46px}
.optlist li::before{content:"";position:absolute;left:22px;top:24px;width:9px;height:9px;
  background:var(--cy)}
.optlist li small{font-size:13px;font-weight:600;color:var(--gray);margin-left:auto}
.optlist--or li::before{background:var(--or)}
.option__note{max-width:760px;margin:22px auto 0;font-size:13px;font-weight:500;color:var(--gray)}
.aftersup .optlist li::before{background:var(--cy)}
.pillar__note.rv{justify-content:center}

/* 料金サマリー（共通パーツ price-summary） */
.psum{max-width:760px;margin-inline:auto;background:var(--white);border:1px solid var(--line);
  border-radius:4px;padding:38px 36px 40px;text-align:center}
.psum__plan{font-family:var(--en);font-weight:600;font-size:12px;letter-spacing:.3em;color:var(--or)}
.psum__h{font-size:20px;font-weight:900;margin-top:8px}
.psum__nums{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:24px 0 26px}
.psum__row{display:flex;align-items:baseline;gap:12px;border:1px solid var(--line);border-radius:4px;
  padding:14px 24px}
.psum__row dt{font-size:13px;font-weight:700;color:var(--gray)}
.psum__row dd{font-family:var(--en);font-weight:800;font-size:34px;line-height:1}
.psum__row dd small{font-family:var(--jp);font-size:14px;font-weight:700;margin-left:3px}
.psum__row--or{background:var(--or-pale);border-color:var(--or)}
.psum__row--or dd{color:var(--or-d)}
.psum__inc{display:grid;gap:8px;text-align:left;max-width:34em;margin:0 auto 20px}
.psum__inc li{position:relative;padding-left:24px;font-size:14px;font-weight:600}
.psum__inc li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;background:var(--cy)}
.psum__caveat{font-size:12.5px;font-weight:500;color:var(--gray);text-align:left;line-height:1.8;
  border-top:1px solid var(--line);padding-top:16px;margin-bottom:24px}

/* ============================================================
   実績一覧 / お知らせ一覧（[aic_posts] のバリアント）
   ============================================================ */
.wfilter{margin:0 0 40px;text-align:center}
.wfilter__h{font-family:var(--en);font-weight:600;font-size:12px;letter-spacing:.24em;color:var(--or);
  margin-bottom:14px}
.wfilter__list{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.wfilter__list a{display:block;border:1px solid var(--line-d);border-radius:999px;
  padding:8px 20px;font-size:13.5px;font-weight:700;background:var(--white);
  transition:background .3s,color .3s,border-color .3s}
.wfilter__list a:hover{background:var(--or);border-color:var(--or);color:#fff}

.aic-posts--wgrid .aic-posts__items{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 24px}
.aic-posts--wgrid .aic-posts__link{display:block;position:relative;background:var(--paper);
  border:1px solid var(--line);border-radius:4px;padding:10px 10px 18px;height:100%;
  transition:transform .35s,border-color .35s,box-shadow .35s}
.aic-posts--wgrid .aic-posts__link:hover{transform:translateY(-5px);border-color:var(--or);
  box-shadow:0 18px 32px -20px rgba(31,31,31,.28)}
.aic-posts--wgrid .aic-posts__thumb{border-radius:3px;overflow:hidden;border:1px solid var(--line);
  aspect-ratio:2/1;background:#fff;margin:0}
.aic-posts--wgrid .aic-posts__img{width:100%;height:100%;object-fit:cover;object-position:top;
  transition:transform .5s}
.aic-posts--wgrid .aic-posts__link:hover .aic-posts__img{transform:scale(1.04)}
.aic-posts--wgrid .aic-posts__body{padding:13px 8px 0}
.aic-posts--wgrid .aic-posts__date{font-family:var(--en);font-weight:600;font-size:11.5px;
  letter-spacing:.12em;color:var(--or)}
.aic-posts--wgrid .aic-posts__title{font-weight:900;font-size:15px;line-height:1.65;margin-top:4px}
.aic-posts--wgrid .aic-posts__excerpt{font-size:12.5px;font-weight:500;color:var(--gray);
  margin-top:6px;line-height:1.8}

.aic-posts--newslist .aic-posts__items{max-width:820px;margin-inline:auto;
  border-top:1px solid var(--line)}
.aic-posts--newslist .aic-posts__item{border-bottom:1px solid var(--line)}
.aic-posts--newslist .aic-posts__link{display:grid;grid-template-columns:130px minmax(0,1fr);gap:20px;
  align-items:baseline;padding:20px 6px;transition:background .3s}
.aic-posts--newslist .aic-posts__link:hover{background:var(--or-pale)}
.aic-posts--newslist .aic-posts__thumb{display:none}
/* アイキャッチが無い投稿ではテーマが figure ごと出力しないため、__body が
   1列目（日付用の細い列）に入って**タイトルが左端で折り返す**。
   __body を display:contents にして、日付とタイトルを直接グリッドに並べる。 */
.aic-posts--newslist .aic-posts__body{display:contents}
.aic-posts--newslist .aic-posts__date{font-family:var(--en);font-weight:600;font-size:13px;
  letter-spacing:.1em;color:var(--or)}
.aic-posts--newslist .aic-posts__title{font-weight:700;font-size:15px;line-height:1.7}
.aic-posts--newslist .aic-posts__excerpt{display:none}

.aic-posts__pagination{margin-top:52px;display:flex;justify-content:center}
.aic-posts__pagination .page-numbers,.archive-page__pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;
  padding:0 12px;margin:0 4px;border:1px solid var(--line-d);border-radius:4px;background:var(--white);
  font-family:var(--en);font-weight:600;font-size:14px;transition:background .3s,color .3s,border-color .3s}
.aic-posts__pagination .page-numbers:hover,.archive-page__pagination .page-numbers:hover{
  background:var(--or);border-color:var(--or);color:#fff}
.aic-posts__pagination .page-numbers.current,.archive-page__pagination .page-numbers.current{
  background:var(--or);border-color:var(--or);color:#fff}

/* ============================================================
   対応エリア
   ============================================================ */
.areagrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.areacard a{display:block;height:100%;background:var(--white);border:1px solid var(--line);
  border-radius:4px;padding:30px 28px 32px;position:relative;
  transition:transform .35s,border-color .35s,box-shadow .35s}
.areacard a:hover{transform:translateY(-5px);border-color:var(--or);
  box-shadow:0 18px 32px -20px rgba(31,31,31,.28)}
.areacard__en{font-family:var(--en);font-weight:600;font-size:12px;letter-spacing:.26em;color:var(--or)}
.areacard__jp{font-size:20px;font-weight:900;margin-top:7px}
.areacard__x{font-size:13.5px;font-weight:500;color:var(--gray);margin-top:12px;line-height:1.85}

.citylist{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:900px;margin-inline:auto}
.citylist__col{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:24px 26px}
.pfeat .citylist__col,.areapage .citylist__col{background:var(--white)}
.citylist__h{font-weight:900;font-size:15.5px;padding-left:16px;position:relative}
.citylist__h::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;background:var(--or)}
.citylist__x{font-size:13.5px;font-weight:500;color:var(--gray);margin-top:10px;line-height:1.9}

/* ============================================================
   会社概要
   ============================================================ */
.proftable{max-width:840px;margin-inline:auto;border-top:1px solid var(--line)}
.proftable__row{display:grid;grid-template-columns:190px 1fr;gap:24px;
  border-bottom:1px solid var(--line);padding:20px 8px}
.proftable__row dt{font-weight:900;font-size:14.5px}
.proftable__row dd{font-weight:500;font-size:14.5px;color:var(--gray)}
.proftable__row dd a{color:var(--or-d);font-weight:700}

.offices{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:960px;margin-inline:auto}
.office{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:26px 24px 28px}
.about .office,.areablk .office{background:var(--paper)}
.office__en{font-family:var(--en);font-weight:600;font-size:11.5px;letter-spacing:.24em;color:var(--or)}
.office__jp{font-weight:900;font-size:17px;margin-top:6px}
.office__ad{font-style:normal;font-size:13.5px;font-weight:500;color:var(--gray);margin-top:10px;
  line-height:1.9}
.office__tel{display:block;font-family:var(--en);font-weight:700;font-size:26px;margin-top:8px;
  color:var(--ink)}
.telbox .offices{grid-template-columns:1fr;gap:12px;margin-top:26px}
.telbox .office{padding:18px 20px}

/* ============================================================
   制作の流れ（縦積みステップ）
   ============================================================ */
.fsteps{max-width:820px;margin-inline:auto;display:grid;gap:16px}
.fstep2{display:grid;grid-template-columns:64px 1fr;gap:22px;align-items:start;
  background:var(--white);border:1px solid var(--line);border-radius:4px;padding:26px 28px 28px;
  position:relative}
.flowpage.bg1 .fstep2{background:var(--paper)}
.fstep2 .fstep__n{display:flex;align-items:center;justify-content:center;width:52px;height:52px;
  border-radius:50%;background:var(--or);color:#fff;font-family:var(--en);font-weight:800;font-size:22px}
.fstep2 .fstep__t{font-size:18px;font-weight:900;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.fstep2 .fstep__x{font-size:14px;font-weight:500;color:var(--gray);margin-top:9px;line-height:1.9}
.fstep__tag{font-size:11.5px;font-weight:700;color:#fff;background:var(--cy);border-radius:3px;
  padding:3px 10px;letter-spacing:.06em}

/* ============================================================
   お問い合わせ CTA（共通パーツ cta-contact）
   ============================================================ */
.ctablk{background:var(--white);border-top:1px solid var(--line)}
.ctablk__grid{display:grid;grid-template-columns:1fr 1.15fr;gap:26px;max-width:940px;margin-inline:auto}
.ctablk__tel,.ctablk__form{background:var(--paper);border:1px solid var(--line);border-radius:4px;
  padding:32px 30px 34px;display:block}
.ctablk__tel{transition:border-color .35s,box-shadow .35s}
.ctablk__tel:hover{border-color:var(--or);box-shadow:0 18px 32px -20px rgba(31,31,31,.28)}
.ctablk__cap{font-family:var(--en);font-weight:600;font-size:11.5px;letter-spacing:.24em;color:var(--or)}
.ctablk__num{display:flex;align-items:center;gap:11px;font-family:var(--en);font-weight:700;
  font-size:36px;line-height:1.2;margin-top:10px}
.ctablk__num svg{width:26px;height:26px;flex:0 0 26px}
.ctablk__hours{font-size:12.5px;font-weight:700;color:var(--gray);margin-top:6px}
.ctablk__note{font-size:14px;font-weight:500;color:var(--gray);margin:12px 0 22px;line-height:1.9}
.ctablk__lead{margin-bottom:40px}

/* ============================================================
   投稿詳細・検索結果・404（テーマテンプレート）
   ============================================================ */
.single-post{padding:calc(var(--hd-h) + 58px) 0 20px}
.single-post__inner,.search-results__inner,.error-404__inner{
  width:820px;max-width:92%;margin-inline:auto}
.single-post__meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.single-post__date{font-family:var(--en);font-weight:600;font-size:13px;letter-spacing:.12em;color:var(--or)}
.single-post__cat{font-size:11.5px;font-weight:700;color:#fff;background:var(--ink);border-radius:3px;
  padding:4px 11px}
.single-post__title{font-size:30px;font-weight:900;line-height:1.55;margin:14px 0 26px;
  letter-spacing:.02em}
.single-post__thumb{margin:0 0 32px;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.single-post__thumb-img{width:100%;display:block}
.single-post__content{font-size:15.5px;font-weight:500;line-height:2}
.single-post__content > *{margin-bottom:1.5em}
.single-post__content h2{font-size:22px;font-weight:900;line-height:1.6;margin:2em 0 .8em;
  padding-left:16px;border-left:5px solid var(--or)}
.single-post__content h3{font-size:18px;font-weight:900;margin:1.8em 0 .6em}
.single-post__content a{color:var(--or-d);font-weight:700;text-decoration:underline}
.single-post__content ul,.single-post__content ol{padding-left:1.4em}
.single-post__content ul li{list-style:disc}
.single-post__content ol li{list-style:decimal}
.single-post__content li{margin-bottom:.5em}
.single-post__content img{border-radius:4px;border:1px solid var(--line)}
.single-post__content blockquote{border-left:4px solid var(--line-d);padding:6px 0 6px 20px;
  color:var(--gray)}
.single-post__content table{width:100%;border-collapse:collapse}
.single-post__content th,.single-post__content td{border:1px solid var(--line);padding:10px 14px;
  font-size:14.5px}
.single-post__content th{background:var(--or-pale);font-weight:700}

.single-post__nav{padding:20px 0 90px}
.single-post__nav-links{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.single-post__nav-link{display:block;background:var(--white);border:1px solid var(--line);
  border-radius:4px;padding:18px 22px;transition:border-color .3s}
.single-post__nav-link:hover{border-color:var(--or)}
.single-post__nav-link--next{text-align:right}
.single-post__nav-label{display:block;font-family:var(--en);font-weight:600;font-size:11px;
  letter-spacing:.16em;color:var(--or)}
.single-post__nav-title{display:block;font-size:14px;font-weight:700;margin-top:6px;line-height:1.7}

.archive-page__header{text-align:center;margin-bottom:46px}
.archive-page__title{font-size:30px;font-weight:900}
.archive-page__description{color:var(--gray);font-weight:500;margin-top:10px}
.archive-page__list{width:1140px;max-width:92%;margin-inline:auto;display:grid;
  grid-template-columns:repeat(3,1fr);gap:32px 24px}
.archive-page__item{background:var(--white);border:1px solid var(--line);border-radius:4px;
  padding:10px 10px 20px;transition:transform .35s,border-color .35s,box-shadow .35s}
.archive-page__item:hover{transform:translateY(-5px);border-color:var(--or);
  box-shadow:0 18px 32px -20px rgba(31,31,31,.28)}
.archive-page__thumb{display:block;border-radius:3px;overflow:hidden;border:1px solid var(--line);
  aspect-ratio:2/1;background:#fff}
.archive-page__thumb-img{width:100%;height:100%;object-fit:cover;object-position:top}
.archive-page__body{padding:13px 8px 0}
.archive-page__date{font-family:var(--en);font-weight:600;font-size:11.5px;letter-spacing:.12em;
  color:var(--or)}
.archive-page__cat{font-size:11px;font-weight:700;color:var(--gray)}
.archive-page__item-title{font-size:15px;font-weight:900;line-height:1.65;margin-top:5px}
.archive-page__excerpt{font-size:12.5px;font-weight:500;color:var(--gray);margin-top:7px;line-height:1.8}
.archive-page__empty{text-align:center;color:var(--gray);font-weight:500}
.archive-page__pagination{margin-top:52px;display:flex;justify-content:center}

.search-results{padding:90px 0}
.search-results__header{margin-bottom:36px}
.search-results__query{font-size:22px;font-weight:900}
.search-results__count{font-size:14px;font-weight:700;color:var(--gray);margin-left:8px}
.search-results__list{display:grid;gap:14px}
.search-results__empty{background:var(--white);border:1px solid var(--line);border-radius:4px;
  padding:40px 32px;text-align:center}
.search-results__empty-text{font-weight:900;font-size:17px}
.search-results__empty-hint{font-size:14px;font-weight:500;color:var(--gray);margin:10px 0 26px}

.error-404{padding:120px 0}
.error-404__inner{text-align:center}
.error-404__code{font-family:var(--en);font-weight:800;font-size:110px;line-height:1;color:var(--or)}
.error-404__heading{font-size:24px;font-weight:900;margin-top:10px}
.error-404__text{font-size:14.5px;font-weight:500;color:var(--gray);margin:14px 0 30px}

/* ============================================================
   Contact Form 7
   ============================================================ */
.wpcf7 .cf7row{display:grid;gap:6px;margin-bottom:18px}
.wpcf7 label{font-weight:700;font-size:14px}
.wpcf7-form-control{width:100%;font-family:var(--jp);font-size:15px;font-weight:500;
  border:1px solid var(--line-d);border-radius:4px;background:var(--white);padding:13px 15px;
  transition:border-color .3s,box-shadow .3s}
.wpcf7-form-control:focus{outline:none;border-color:var(--or);
  box-shadow:0 0 0 3px var(--or-pale)}
.wpcf7-textarea{min-height:170px;resize:vertical}
.wpcf7-list-item{margin:0 18px 0 0}
.wpcf7-required,.wpcf7 .req{color:var(--or);font-size:12px;font-weight:700;margin-left:6px}
.wpcf7-submit{width:100%;min-height:62px;background:var(--or);color:#fff;border:none;border-radius:4px;
  font-family:var(--jp);font-weight:700;font-size:16px;cursor:pointer;transition:background .3s}
.wpcf7-submit:hover{background:var(--or-d)}
.wpcf7-not-valid-tip{color:#c1121f;font-size:12.5px;font-weight:700;margin-top:4px}
.wpcf7-response-output{border:1px solid var(--line-d)!important;border-radius:4px;
  font-size:14px;font-weight:700;padding:14px 16px!important;margin:18px 0 0!important}
.wpcf7-spinner{display:block;margin:10px auto 0}

/* フッター追記 */
.ft__hours{font-size:12px;font-weight:700;color:var(--gray);margin-top:2px}


/* ============================================================
   下層ページ 作り込み用コンポーネント（2026-09-07 追加）
   固定ページは .phero（自前ヒーロー）を使う。テーマの page-hero は
   plugins/gdesign-site が固定ページでのみ DOM ごと抑止する（h1 重複を避けるため）。
   投稿詳細 / アーカイブ / 検索 / 404 では page-hero をそのまま使う
   ============================================================ */

/* ---------- パンくず ---------- */
.crumb{display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  font-family:var(--en);font-size:11.5px;font-weight:600;letter-spacing:.08em;color:var(--gray);margin-bottom:20px}
.crumb a{transition:color .25s}
.crumb a:hover{color:var(--or)}
.crumb i{font-style:normal;opacity:.45}
.crumb b{color:var(--ink);font-weight:700}

/* ---------- ページヒーロー（自前） ---------- */
.phero{position:relative;overflow:hidden;background:var(--white);
  border-bottom:1px solid var(--line);padding:calc(var(--hd-h) + 58px) 0 62px}
.phero__grid{display:grid;grid-template-columns:1.3fr .7fr;gap:4vw;align-items:center;
  position:relative;z-index:1}
.phero__en{display:flex;align-items:center;gap:11px;font-family:var(--en);font-weight:600;
  font-size:13px;letter-spacing:.3em;color:var(--or);text-transform:uppercase}
.phero__en::before{content:"";width:26px;height:2px;background:var(--or)}
.phero__h{font-size:clamp(27px,3.3vw,45px);font-weight:900;line-height:1.42;letter-spacing:.03em;
  margin-top:12px}
.phero__h .em{color:var(--or)}
.phero__lead{font-size:15px;font-weight:500;color:var(--gray);line-height:1.95;margin-top:18px;max-width:34em}
.phero__chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.phero__chips li{border:1px solid var(--or);background:var(--or-pale);color:var(--or-d);
  border-radius:999px;padding:7px 17px;font-size:13px;font-weight:700}
.phero__vis{display:flex;justify-content:flex-end}
.phero__vis img{width:100%;max-width:300px;display:block}
.phero__ring{position:absolute;right:-150px;top:50%;transform:translateY(-50%);width:440px;
  opacity:.10;pointer-events:none;z-index:0}

/* 淡いオレンジ版ヒーロー（お問い合わせ等） */
.phero--accent{background:var(--warm,#f2eee8);border-bottom-color:#e6e0d7}
.phero--accent .phero__chips li{background:var(--white)}
.phero__ring img{width:100%;display:block}

/* ダーク版ヒーロー（お問い合わせ等・締まった印象を出したいページ） */

/* ---------- 見出しの英字ウォーターマーク ---------- */
.tt{position:relative}
.tt__wm{position:absolute;left:0;top:-42px;font-family:var(--en);font-weight:800;
  font-size:clamp(58px,8vw,124px);line-height:1;color:var(--ink);opacity:.05;
  white-space:nowrap;pointer-events:none;letter-spacing:.01em;z-index:0}
.tt--c .tt__wm{left:50%;transform:translateX(-50%)}
.tt__en,.tt__jp{position:relative;z-index:1}

/* ---------- アクセント帯（淡いオレンジ。黒背景は使わない） ---------- */
.accent{background:var(--warm,#f2eee8);border-block:1px solid #e6e0d7}
.accent .iconrow__i,.accent .citylist__col,.accent .qa,.accent .optlist li,
.accent .psum,.accent .cmp{background:var(--white)}
.accent .cmp thead th,.accent .cmp tbody th{background:#faf8f5}
.accent .notebox{background:var(--white)}
.accent .mapbox{background:repeating-linear-gradient(45deg,#fff,#fff 11px,#f1ece4 11px,#f1ece4 22px);
  border-color:#ddd6cb}
.accent .tt__wm{color:var(--ink);opacity:.06}
.accent .office{background:var(--white)}


/* チップ中央寄せ / 2列カードグリッド / エリアカードの導線 */
.chips--c{justify-content:center}
.wgrid--2c{grid-template-columns:repeat(2,1fr);max-width:840px;margin-inline:auto}
.areacard__go{display:inline-flex;align-items:center;gap:9px;margin-top:18px;
  font-family:var(--en);font-weight:600;font-size:11.5px;letter-spacing:.14em;color:var(--or)}
.areacard__go::after{content:"";width:7px;height:7px;border-right:2px solid var(--or);
  border-bottom:2px solid var(--or);transform:rotate(-45deg);transition:transform .3s}
.areacard a:hover .areacard__go::after{transform:rotate(-45deg) translate(3px,3px)}

/* ---------- 数値ストリップ ---------- */
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:4px;overflow:hidden}
.kpi__i{background:var(--white);padding:28px 18px 30px;text-align:center}
.kpi__n{font-family:var(--en);font-weight:800;font-size:clamp(30px,3.3vw,44px);line-height:1;color:var(--or)}
.kpi__n small{font-family:var(--jp);font-size:15px;font-weight:700;margin-left:3px;color:var(--ink)}
.kpi__l{font-size:12.5px;font-weight:700;color:var(--gray);margin-top:10px;line-height:1.6}

/* ---------- 画像＋テキストの2カラム ---------- */
.spl{display:grid;grid-template-columns:1.02fr .98fr;gap:4.5vw;align-items:center}
.spl__vis{position:relative}
.spl__vis img{width:100%;display:block;border-radius:4px}
.spl__vis--frame img{border:1px solid var(--line)}
.spl__vis--frame::before{content:"";position:absolute;left:-18px;top:-18px;width:120px;height:120px;
  background:var(--or-pale);z-index:-1}
.spl--rev .spl__vis{order:-1}
.spl__txt p{color:var(--gray);font-weight:500;margin-bottom:1.2em;line-height:1.95}
.spl__txt p:last-child{margin-bottom:0}
.spl__txt b{color:var(--ink)}
.spl__cap{display:inline-block;font-family:var(--en);font-weight:600;font-size:11.5px;
  letter-spacing:.22em;color:var(--or);margin-bottom:10px}

/* ---------- なおきスプリット（docs/なおきスプリット.md 準拠） ---------- */
.naoki{display:flex;align-items:stretch;width:100vw;min-height:calc(50vw * 9 / 16)}
.naoki__media{position:relative;flex:0 0 50vw;width:50vw;aspect-ratio:16/9;overflow:hidden}
.naoki__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.naoki__content{flex:1 1 50vw;display:flex;flex-direction:column;justify-content:center;
  padding:var(--naoki-pad,clamp(24px,4vw,72px));
  padding-right:max(var(--naoki-pad,clamp(24px,4vw,72px)),calc((100vw - var(--naoki-container,1500px)) / 2))}
.naoki--right{flex-direction:row-reverse}
.naoki--right .naoki__content{
  padding-right:var(--naoki-pad,clamp(24px,4vw,72px));
  padding-left:max(var(--naoki-pad,clamp(24px,4vw,72px)),calc((100vw - var(--naoki-container,1500px)) / 2))}
.naoki__content p{color:var(--gray);font-weight:500;line-height:1.95;margin-bottom:1.1em}
.naoki__content p:last-child{margin-bottom:0}

/* ---------- タイムライン（制作の流れ） ---------- */
.tl{position:relative;max-width:840px;margin-inline:auto;padding-left:70px}
.tl::before{content:"";position:absolute;left:25px;top:26px;bottom:26px;width:2px;background:var(--line-d)}
.tl__i{position:relative;margin-bottom:16px;background:var(--white);border:1px solid var(--line);
  border-radius:4px;padding:24px 28px 26px}
.tl__i:last-child{margin-bottom:0}
.tl__n{position:absolute;left:-70px;top:20px;width:52px;height:52px;border-radius:50%;
  background:var(--or);color:#fff;display:flex;align-items:center;justify-content:center;
  font-family:var(--en);font-weight:800;font-size:20px;box-shadow:0 0 0 7px var(--paper)}
.tl--onwhite .tl__n{box-shadow:0 0 0 7px var(--white)}
.tl--onwhite .tl__i{background:var(--paper)}
.tl__t{font-size:18px;font-weight:900;display:flex;align-items:center;gap:11px;flex-wrap:wrap;line-height:1.5}
.tl__x{font-size:14px;font-weight:500;color:var(--gray);margin-top:10px;line-height:1.9}
.tl__meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}
.tag{font-size:11.5px;font-weight:700;border-radius:3px;padding:4px 12px;letter-spacing:.04em;
  display:inline-flex;align-items:center}
.tag--free{background:var(--cy);color:#fff}
.tag--time{background:var(--or-pale);color:var(--or-d)}
.tag--pay{background:var(--or-d);color:#fff}
.tag--line{border:1px solid var(--line-d);color:var(--gray)}

/* 期間バー */
.term{max-width:840px;margin:0 auto 44px;background:var(--white);border:1px solid var(--line);
  border-radius:4px;padding:24px 28px 26px}
.term__t{font-size:14px;font-weight:900;margin-bottom:16px}
.term__bar{display:flex;height:38px;border-radius:3px;overflow:hidden;border:1px solid var(--line)}
.term__seg{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;
  white-space:nowrap;overflow:hidden}
.term__seg--a{flex:0 0 26%;background:var(--or-pale);color:var(--or-d)}
.term__seg--b{flex:0 0 44%;background:var(--or);color:#fff}
.term__seg--c{flex:1;background:var(--or-d);color:#fff}
.term__note{font-size:12.5px;font-weight:500;color:var(--gray);margin-top:12px}

/* ---------- 比較表 ---------- */
.cmpwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;position:relative}
.cmp{width:100%;min-width:600px;border-collapse:separate;border-spacing:0;background:var(--white);
  border:1px solid var(--line);border-radius:4px;overflow:hidden}
.cmp th,.cmp td{padding:16px 18px;font-size:14px;text-align:left;border-bottom:1px solid var(--line);
  vertical-align:top}
.cmp thead th{background:var(--paper);font-weight:900;font-size:13px;text-align:center;white-space:nowrap}
.cmp thead th.is-us{background:var(--or);color:#fff}
.cmp tbody th{font-weight:700;width:26%;background:var(--paper)}
.cmp td{text-align:center;font-weight:500;color:var(--gray)}
.cmp td.is-us{background:var(--or-pale);font-weight:700;color:var(--or-d)}
.cmp tr:last-child th,.cmp tr:last-child td{border-bottom:none}
.cmp__note{font-size:12.5px;font-weight:500;color:var(--gray);margin-top:14px}

/* ---------- チップ列（対応市町村など） ---------- */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips li{border:1px solid var(--line-d);background:var(--white);border-radius:999px;
  padding:7px 16px;font-size:13px;font-weight:700;color:var(--ink)}
.chips li.is-main{border-color:var(--or);background:var(--or-pale);color:var(--or-d)}

/* ---------- 地図プレースホルダー（素材支給待ち） ---------- */
.mapbox{position:relative;aspect-ratio:16/9;border:1px dashed var(--line-d);border-radius:4px;
  background:repeating-linear-gradient(45deg,#f4f1eb,#f4f1eb 11px,#ece8e0 11px,#ece8e0 22px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:20px}
.mapbox__t{font-size:13.5px;font-weight:900;color:var(--gray)}
.mapbox__x{font-size:12px;font-weight:600;color:var(--gray);opacity:.8}
.maprow{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}

/* Googleマップ埋め込み */
.mapfr{margin:0}
.mapfr__cap{font-size:12.5px;font-weight:700;color:var(--gray);margin-bottom:9px}
.mapfr__box{position:relative;aspect-ratio:16/10;border:1px solid var(--line);border-radius:4px;
  overflow:hidden;background:var(--white)}
.mapfr__box iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}

/* 規約・ポリシー等の文書ページ */
.psec{padding:100px 0}
.doc{width:840px;max-width:100%;margin-inline:auto;background:var(--white);
  border:1px solid var(--line);border-radius:4px;padding:48px 52px 54px}
.doc__h{font-size:clamp(24px,2.6vw,32px);font-weight:900;letter-spacing:.03em;line-height:1.5;
  padding-bottom:20px;margin-bottom:26px;border-bottom:1px solid var(--line)}
.doc > p{font-size:14.5px;font-weight:500;color:var(--gray);line-height:2}
.doc h3{font-size:17px;font-weight:900;margin:34px 0 12px;padding-left:14px;
  border-left:4px solid var(--or);line-height:1.6}
.doc h3:first-of-type{margin-top:30px}
.doc ul{margin:10px 0 0;display:grid;gap:8px}
.doc ul li{position:relative;padding-left:22px;font-size:14.5px;font-weight:500;color:var(--gray);line-height:1.9}
.doc ul li::before{content:"";position:absolute;left:0;top:.65em;width:8px;height:8px;background:var(--cy)}
.doc__date{margin-top:36px;padding-top:18px;border-top:1px solid var(--line);
  font-size:13px;font-weight:700;color:var(--gray)}
.subttl--sm{font-size:14px;margin:28px 0 14px}
.telbox .chips{margin-bottom:4px}

/* ---------- 写真ストリップ ---------- */
.pstrip3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pstrip3 figure{margin:0}
.pstrip3 .ph{border-radius:4px;overflow:hidden;border:1px solid var(--line);aspect-ratio:3/2;background:var(--white)}
.pstrip3 img{width:100%;height:100%;object-fit:cover;display:block}
.pstrip3 figcaption{font-size:12.5px;font-weight:600;color:var(--gray);margin-top:10px;line-height:1.7}

/* ---------- アイコン付き項目グリッド ---------- */
.iconrow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.iconrow__i{background:var(--white);border:1px solid var(--line);border-radius:4px;
  padding:28px 26px 30px;position:relative;transition:border-color .35s,box-shadow .35s}
.iconrow__i:hover{border-color:var(--or);box-shadow:0 18px 32px -22px rgba(31,31,31,.26)}
.bg1 .iconrow__i{background:var(--paper)}
.iconrow__ic{width:56px;height:56px;display:flex;align-items:center;justify-content:center;
  background:var(--or-pale);border-radius:50%;margin-bottom:17px}
.iconrow__ic img,.iconrow__ic svg{width:27px;height:27px;object-fit:contain}
.iconrow__n{position:absolute;right:20px;top:18px;font-family:var(--en);font-weight:800;
  font-size:13px;letter-spacing:.08em;color:var(--line-d)}
.iconrow__t{font-size:16.5px;font-weight:900;line-height:1.5}
.iconrow__x{font-size:13.5px;font-weight:500;color:var(--gray);margin-top:9px;line-height:1.85}

/* ---------- 引用・注記 ---------- */
.notebox{border-left:4px solid var(--or);background:var(--or-pale);border-radius:0 4px 4px 0;
  padding:20px 24px;font-size:14px;font-weight:600;line-height:1.9;color:var(--ink)}
.notebox b{color:var(--or-d)}
.notebox--mid{max-width:800px;margin:38px auto 0}
.optlist--tight{margin:24px 0 0;max-width:none}
.spl__txt .tt{margin-bottom:22px}
.spl__txt .tt__jp{font-size:clamp(23px,2.4vw,32px)}

/* ---------- FAQ カテゴリのアンカーナビ ---------- */
.anchors{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-bottom:52px}
.anchors a{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-d);
  background:var(--white);border-radius:999px;padding:9px 20px;font-size:13.5px;font-weight:700;
  transition:background .3s,color .3s,border-color .3s}
.anchors a::after{content:"";width:6px;height:6px;border-right:2px solid var(--or);
  border-bottom:2px solid var(--or);transform:rotate(45deg) translateY(-1px);transition:border-color .3s}
.anchors a:hover{background:var(--or);border-color:var(--or);color:#fff}
.anchors a:hover::after{border-color:#fff}

/* ---------- 「もっと見る」まわりの余白調整 ---------- */
.sect-lead{color:var(--gray);font-weight:500;max-width:46em;margin:0 auto 44px;text-align:center;line-height:1.95}

/* ============================================================
   レスポンシブ（作り込み分）
   ============================================================ */
@media(max-width:900px){
  .phero{padding:calc(var(--hd-h) + 40px) 0 44px}
  .phero__grid{grid-template-columns:1fr;gap:30px}
  .phero__vis{justify-content:center}
  .phero__vis img{max-width:240px}
  .phero__ring{width:300px;right:-120px}
  .tt__wm{top:-30px}
  .kpi{grid-template-columns:1fr 1fr}
  .spl{grid-template-columns:1fr;gap:30px}
  .spl--rev .spl__vis{order:0}
  .iconrow{grid-template-columns:1fr 1fr}
  .wgrid--2c{grid-template-columns:1fr 1fr}
  .pstrip3{grid-template-columns:1fr 1fr}
  .maprow{grid-template-columns:1fr}
  .psec{padding:72px 0}
  .doc{padding:32px 26px 36px}
  .naoki{flex-direction:column;width:100%;min-height:0}
  .naoki__media{flex:none;width:100%;aspect-ratio:16/9}
  .naoki__content{padding:34px clamp(20px,5vw,40px) 40px!important}
  .tl{padding-left:56px}
  .tl::before{left:19px}
  .tl__n{left:-56px;width:40px;height:40px;font-size:16px;box-shadow:0 0 0 5px var(--paper)}
  .tl--onwhite .tl__n{box-shadow:0 0 0 5px var(--white)}
}
@media(max-width:680px){
  .phero__h{font-size:23px}
  .phero__lead{font-size:14px}
  .iconrow{grid-template-columns:1fr}
  .pstrip3{grid-template-columns:1fr}
  .kpi__i{padding:22px 12px 24px}
  .kpi__l{font-size:11.5px}
  .tl__i{padding:20px 20px 22px}
  .tl__t{font-size:16px}
  .term{padding:20px 20px 22px}
  .term__seg{font-size:10.5px}
  .anchors{gap:7px;margin-bottom:38px}
  .anchors a{padding:8px 15px;font-size:12.5px}
  .notebox{padding:16px 18px;font-size:13.5px}
  /* 比較表は横スクロール。スクロールできることを明示する */
  .cmp{min-width:520px}
  .cmp th,.cmp td{padding:12px 10px;font-size:12.5px}
  .cmp thead th{font-size:12px}
  .cmpwrap::before{content:"→ 横にスクロールできます";display:block;text-align:right;
    font-size:11.5px;font-weight:700;color:var(--gray);margin-bottom:8px}
}

/* ============================================================
   テーマ既定テンプレ CSS の打ち消し
   （css-theme.css は archive を「サムネ左・本文右の flex」、見出しを明朝で描く。
     本サイトはカードグリッド＋ゴシックなので、ここで上書きする）
   ============================================================ */
.archive-page__title,.archive-page__item-title,.single-post__title,
.search-results__query,.error-404__heading,.single-post__nav-title{
  font-family:var(--jp);color:var(--ink)}
.archive-page{max-width:none;padding:calc(var(--hd-h) + 58px) 0 90px}
.archive-page__title{font-weight:900;font-size:30px}
.archive-page__item{display:block;border-bottom:none;padding:10px 10px 20px;gap:0}
.archive-page__thumb{flex:none;height:auto;border-radius:3px}
.archive-page__body{flex:none;min-width:0}
.archive-page__date{margin-bottom:0;color:var(--or);font-size:11.5px;
  font-family:var(--en);font-weight:600;letter-spacing:.12em}
.archive-page__cats{margin-top:3px}
.archive-page__cat{font-size:11px;font-weight:700;color:var(--gray)}
.archive-page__item-title{font-weight:900;font-size:15px;line-height:1.65;margin:4px 0 0}
/* テーマ基底の *{font-weight/font-size} が a に直接当たって継承を切るため、
   タイトルの <a> だけ細く・大きくなってしまう。明示的に継承へ戻す */
.archive-page__item-title a{font-weight:inherit;font-size:inherit;line-height:inherit;color:inherit}
.archive-page__excerpt{color:var(--gray);font-size:12.5px;margin-top:6px;line-height:1.8}
.archive-page__desc{color:var(--gray)}
.single-post__title{font-weight:900}
.single-post__date{color:var(--or)}
.wpcf7,.wpcf7-form{width:720px;max-width:100%;margin-inline:auto}
.cform .wpcf7,.cform .wpcf7-form{width:auto}

/* ============================================================
   レスポンシブ（追加分）
   ============================================================ */
@media(max-width:900px){
  .page-hero{padding:calc(var(--hd-h) + 52px) 0 40px}
  .page-hero__title-jp{font-size:27px}
  .pglead__h{font-size:24px}
  .page-hero::after{width:200px;height:200px;margin-top:-100px;right:-90px}
  .pfeat,.worry,.aftersup,.option,.areablk,.areapage,.wlist,.newsblk,.about,.flowpage,.ctablk{
    padding:72px 0}
  .pfeat__list{grid-template-columns:1fr;gap:16px}
  .areagrid{grid-template-columns:1fr;gap:16px}
  .citylist{grid-template-columns:1fr}
  .offices{grid-template-columns:1fr}
  .aic-posts--wgrid .aic-posts__items{grid-template-columns:1fr 1fr}
  .archive-page__list{grid-template-columns:1fr 1fr}
  .ctablk__grid{grid-template-columns:1fr}
  .single-post__title{font-size:24px}
  .single-post__nav-links{grid-template-columns:1fr}
  .single-post__nav-link--next{text-align:left}
  .proftable__row{grid-template-columns:1fr;gap:6px}
  .fstep2{grid-template-columns:52px 1fr;gap:16px;padding:22px 20px 24px}
  .fstep2 .fstep__n{width:44px;height:44px;font-size:19px}
}
@media(max-width:680px){
  .page-hero__title-jp{font-size:23px}
  .pglead__h{font-size:21px}
  .subttl{font-size:15.5px;gap:12px;margin:40px 0 20px}
  .aic-posts--wgrid .aic-posts__items{grid-template-columns:1fr}
  .archive-page__list{grid-template-columns:1fr}
  .aic-posts--newslist .aic-posts__link{grid-template-columns:minmax(0,1fr);gap:4px;padding:16px 4px}
  .optlist li{padding:14px 18px 14px 40px;font-size:14px}
  .optlist li::before{left:18px;top:21px}
  .optlist li small{margin-left:0;flex-basis:100%}
  .psum{padding:30px 22px 32px}
  .psum__nums{flex-direction:column;gap:10px}
  .psum__row{justify-content:space-between}
  .ctablk__num{font-size:29px}
  .ctablk__tel,.ctablk__form{padding:26px 22px 28px}
  .wfilter__list a{padding:7px 15px;font-size:12.5px}
  .error-404__code{font-size:78px}
  .single-post__content h2{font-size:19px}
}

/* ============================================================
   テーマ基底の打ち消し
   - css-theme.css の *{font-size:var(--font-size1)} が span 等の継承を断つため復元
   - 既定 a.btn（緑ベタ・FAカレット・width300）を本LPの .btn 仕様へ戻す
   ============================================================ */
main :is(span,b,i,em,small,strong,dt,dd,kbd){font-size:inherit;line-height:inherit}
/* テーマ基底の *{font-weight:var(--font-weight)} が b/strong に直接当たり、
   本文中の <b> が太字にならない（親の 500 も継承しない）。ここで太字に戻す。
   個別コンポーネント側で font-weight を持つ b（.midcta__tel b 等）は詳細度で勝つので影響しない */
main :is(b,strong){font-weight:700}
main :is(h1,h2,h3,h4,.tt__jp,.phero__h,.doc__h) :is(b,strong){font-weight:inherit}
a.btn{display:inline-flex;width:auto;max-width:none;margin:0;padding:0 56px 0 32px;
  background:var(--or);text-align:inherit;text-decoration:none}
a.btn:hover{background:var(--or)}
a.btn:after{content:none}
a.btn.btn--ghost{background:transparent}
a.btn.btn--ghost:hover{background:transparent}
a.btn.btn--white{background:#fff}
a.btn.btn--white:hover{background:#fff}
a.btn.btn--ghost{color:var(--ink)}
a.btn.btn--ghost:hover{color:#fff}
a.btn.btn--white{color:var(--or)}
a.btn.btn--white:hover{color:#fff}

/* ============================================================
   WP 管理バー（ログイン閲覧時）のオフセット
   ============================================================ */
body.admin-bar .hd{top:var(--wp-admin--admin-bar--height,32px)}
body.admin-bar .drw{top:var(--wp-admin--admin-bar--height,32px)}

/* ============================================================
   制作事例の日付を隠す（2026-09-18）
   2015年からの実績なので、日付を出すと「古い仕事」に見えてしまう。
   お知らせ（newslist・お知らせアーカイブ）の日付はそのまま残す。
   ============================================================ */
/* 一覧カード：wgrid は works / works_area の実績一覧でしか使っていない
   （お知らせは variant="newslist"） */
.aic-posts--wgrid .aic-posts__date{display:none}
.aic-posts--wgrid .aic-posts__title{margin-top:0}
/* 業種アーカイブ（/industry/…）とエリアアーカイブ（/works-area/…）＝どちらも制作事例だけ */
body.tax-industry .archive-page__date,
body.tax-works_area .archive-page__date{display:none}
body.tax-industry .archive-page__cats,
body.tax-works_area .archive-page__cats{margin-top:0}
/* 投稿詳細：制作事例のときだけ body に gd-works が付く（plugins/gdesign-site） */
body.gd-works .single-post__date{display:none}
