/*
Theme Name: ミズプロ
Theme URI: https://mizupro-jumonji.com/
Author: 株式会社十文字
Description: ミズプロ（宇都宮の水まわりリフォーム）専用テーマ。静的HTMLで作ったデザインをそのまま移植したものです。デザインの変更はこのテーマファイルを編集します。文章・画像は管理画面から編集できます。
Version: 1.12.2
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: mizupro
*/

/* ============================================================
   以下は静的サイト（ミズプロ_公開用/css/style.css）と同一の内容です。
   デザインを変えるときはここを編集します。
   ============================================================ */

@charset "UTF-8";
/* ============================================================
   ミズプロ 共通スタイル
   青×水色×黄色のポップな配色。角丸を大きく、水の模様を添える。
   全ページ共通。ページ側はHTMLだけを書く。
   ============================================================ */

:root{
  color-scheme: light;

  --blue:#1763C4;        /* ロゴの青。主色 */
  --blue-d:#0E4A99;      /* 濃い青。ホバーなど */
  --blue-l:#E8F2FD;      /* 淡い青 */
  --sky:#2FC1F0;         /* 水色。アクセント */
  --sky-l:#BFEAFB;
  --wash:#EAF7FE;        /* セクションの背景 */
  --yellow:#FFE100;      /* 黄色。いちばん目立たせたい所だけ */
  --yellow-d:#FFC800;
  --ink:#16303E;         /* 文字 */
  --gray:#5F7785;
  --line:#D5E6F3;
  --paper:#FFFFFF;
  --green:#06C755;

  --font:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","YuGothic","Meiryo",sans-serif;
  /* ロゴと同じ書体。見出しとキャッチにだけ使う（本文には使わない） */
  --display:"Dela Gothic One","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;

  --r-s:12px;
  --r:20px;
  --r-l:32px;
  --pill:999px;

  --gut:clamp(20px,5vw,56px);
  --sec:clamp(60px,8vw,104px);

  --shadow:0 6px 20px rgba(23,99,196,.08);
  --shadow-l:0 14px 38px rgba(23,99,196,.14);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--font);
  color:var(--ink);
  background:var(--paper);
  font-size:16px;
  line-height:1.95;
  letter-spacing:.01em;
  font-weight:500;
}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px;}

.shell{width:min(1160px,100%);margin-inline:auto;padding-inline:var(--gut);}
.shell-n{width:min(900px,100%);margin-inline:auto;padding-inline:var(--gut);}

/* ===== 見出し ===== */
.eyebrow{
  display:inline-block;
  font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:var(--blue);background:var(--blue-l);
  padding:7px 18px;border-radius:var(--pill);
}
.s-title{
  font-family:var(--display);
  font-size:clamp(23px,3.4vw,36px);
  font-weight:400;line-height:1.45;letter-spacing:.01em;
  text-wrap:balance;margin-top:16px;
}
.s-title{paint-order:stroke fill;-webkit-text-stroke:4px #fff;text-shadow:0 3px 0 rgba(23,99,196,.14);}
.sec-ink .s-title{-webkit-text-stroke:4px var(--blue-d);text-shadow:0 3px 0 rgba(0,0,0,.2);}
.s-title em{font-style:normal;position:relative;z-index:0;color:var(--blue);}
.s-title em::after{
  content:"";position:absolute;left:-.06em;right:-.06em;bottom:.02em;height:.36em;
  background:var(--yellow);border-radius:3px;z-index:-1;
}
.s-lead{margin-top:16px;color:var(--gray);font-size:15.5px;max-width:60ch;line-height:2;}
.s-head{margin-bottom:clamp(32px,4.5vw,52px);}
.h3m{font-size:clamp(18px,2.2vw,22px);font-weight:800;line-height:1.6;}

/* ===== キャッチコピー（ロゴと同じ書体） ===== */
.catchcopy{
  font-family:var(--display);font-weight:400;
  font-size:clamp(18px,3vw,34px);line-height:1.5;letter-spacing:.01em;
  transform:rotate(-1.2deg);transform-origin:left center;
  margin-bottom:clamp(16px,2.2vw,24px);
}
.catchcopy .p{color:var(--blue);}
.sec-ink .catchcopy,.ctaband .catchcopy{color:#fff;}
.sec-ink .catchcopy .p,.ctaband .catchcopy .p{color:var(--yellow);}

/* ===== ボタン ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:17px 34px;font-size:16px;font-weight:800;letter-spacing:.04em;
  border:none;border-radius:var(--pill);
  background:var(--yellow);color:var(--ink);
  box-shadow:0 4px 0 var(--yellow-d);
  transition:transform .15s,box-shadow .15s,background .2s,color .2s;
  white-space:nowrap;cursor:pointer;
}
.btn:hover{transform:translateY(2px);box-shadow:0 2px 0 var(--yellow-d);}
.btn-outline{
  background:var(--paper);color:var(--blue);
  box-shadow:0 0 0 2px var(--blue) inset,0 4px 0 var(--blue-l);
}
.btn-outline:hover{background:var(--blue);color:#fff;box-shadow:0 2px 0 var(--blue-d);}
.btn-line{background:var(--green);color:#fff;box-shadow:0 4px 0 #05a648;}
.btn-line:hover{box-shadow:0 2px 0 #05a648;}
.btn-white{background:#fff;color:var(--blue);box-shadow:0 4px 0 rgba(0,0,0,.14);}
.btn-white:hover{box-shadow:0 2px 0 rgba(0,0,0,.14);}
.btn-sm{padding:12px 22px;font-size:14px;}

/* ===== 空欄マーカー ===== */
.bl{
  display:inline-block;min-width:4.5em;padding:1px .6em;
  background:#FFF9C4;border:1px dashed var(--yellow-d);border-radius:var(--r-s);
  color:#8A6D00;font-size:.88em;font-weight:800;text-align:center;
}

/* ===== 水の模様（セクションの区切りを波にする） ===== */
.sec-mist,.sec-ink,.ctaband,.ft{position:relative;}
.sec-mist::before,.sec-ink::before,.ctaband::before,.ft::before{
  content:"";position:absolute;left:0;right:0;top:0;height:34px;
  transform:translateY(-100%);
  background-repeat:repeat-x;background-position:center bottom;background-size:1200px 34px;
  pointer-events:none;
}
.sec-mist::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 34' preserveAspectRatio='none'><path d='M0,34 V16 C150,-4 340,36 600,16 C860,-4 1050,36 1200,16 V34 Z' fill='%23EAF7FE'/></svg>");}
.sec-ink::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 34' preserveAspectRatio='none'><path d='M0,34 V16 C150,-4 340,36 600,16 C860,-4 1050,36 1200,16 V34 Z' fill='%231763C4'/></svg>");}
.ctaband::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 34' preserveAspectRatio='none'><path d='M0,34 V16 C150,-4 340,36 600,16 C860,-4 1050,36 1200,16 V34 Z' fill='%232FC1F0'/></svg>");}
.ft::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 34' preserveAspectRatio='none'><path d='M0,34 V16 C150,-4 340,36 600,16 C860,-4 1050,36 1200,16 V34 Z' fill='%23E8F2FD'/></svg>");}

/* ===== ヘッダー ===== */
.hd{
  position:fixed;inset:0 0 auto 0;z-index:80;
  background:rgba(255,255,255,.93);backdrop-filter:blur(10px);
  box-shadow:0 2px 14px rgba(23,99,196,.08);
}
/* ヘッダーは折り返さない */
.hd .shell{width:min(1440px,100%);}
.hd-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:86px;}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto;}
/* キャラクター＋「ミズプロ」の組み。縦横比を保つため高さで指定する */
.brand-mark{height:66px;width:auto;flex:0 0 auto;}
.brand-txt{display:flex;flex-direction:column;gap:3px;}
.brand-n{font-family:var(--display);font-size:22px;font-weight:400;letter-spacing:.04em;line-height:1;color:var(--blue);}
.brand-s{font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--gray);line-height:1;}
.hd-r{display:flex;align-items:center;gap:22px;}
.gnav{display:flex;align-items:center;gap:clamp(14px,1.6vw,24px);}
.gnav > a,.gnav-btn{
  white-space:nowrap;
  font-size:14px;font-weight:800;letter-spacing:.03em;position:relative;
  background:none;border:0;cursor:pointer;line-height:1.6;padding-bottom:4px;
}
.gnav > a::after,.gnav-btn::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px;
  background:var(--sky);transform:scaleX(0);transform-origin:left;transition:transform .25s;
}
.gnav > a:hover::after,.gnav > a[aria-current="page"]::after,
.gnav-btn:hover::after,.gnav-drop.on .gnav-btn::after,.gnav-btn[data-current]::after{transform:scaleX(1);}
.hd-tel{text-align:right;line-height:1.4;white-space:nowrap;}
.hd-tel b{font-size:20px;font-weight:900;color:var(--blue);display:block;}
.hd-tel span{font-size:10.5px;font-weight:700;color:var(--gray);}

/* ===== 工事メニューのプルダウン ===== */
.gnav-drop{position:relative;}
.gnav-btn{display:inline-flex;align-items:center;gap:8px;}
.gnav-btn i{
  display:block;width:6px;height:6px;border-right:2px solid var(--sky);
  border-bottom:2px solid var(--sky);transform:rotate(45deg) translate(-2px,-2px);transition:transform .3s;
}
.gnav-drop.on .gnav-btn i{transform:rotate(-135deg) translate(-2px,-2px);}
.gnav-menu{
  position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%) translateY(-8px);
  min-width:250px;background:#fff;border-radius:var(--r);
  box-shadow:var(--shadow-l);list-style:none;padding:8px;z-index:90;
  opacity:0;visibility:hidden;transition:opacity .22s,transform .22s,visibility .22s;
}
.gnav-drop.on .gnav-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.gnav-menu::before{
  content:"";position:absolute;top:-6px;left:50%;margin-left:-6px;
  width:12px;height:12px;background:#fff;transform:rotate(45deg);
}
.gnav-menu a{
  display:block;padding:13px 18px;font-size:14px;font-weight:700;border-radius:var(--r-s);
  transition:background .2s,color .2s;
}
.gnav-menu a:hover{background:var(--blue-l);color:var(--blue);}
.gnav-menu a[aria-current="page"]{background:var(--blue);color:#fff;}
.gnav-drop::after{content:"";position:absolute;top:100%;left:0;right:0;height:20px;}

/* ===== トップのヒーロー ===== */
.hero{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,#DFF3FE 0%,#EAF7FE 55%,#FFFFFF 100%);
}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;}
.hero-in{position:relative;z-index:2;padding-top:clamp(118px,13vw,150px);padding-bottom:clamp(40px,5vw,64px);}

/* 2カラム：左に文字、右に写真 */
.hero-txt{min-width:0;}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,56px);align-items:center;}
.hero-bubble{
  display:inline-block;position:relative;background:#fff;color:var(--blue);
  font-size:clamp(16px,1.6vw,22px);font-weight:900;letter-spacing:.06em;
  padding:14px 30px;border-radius:var(--pill);box-shadow:var(--shadow);
  margin-bottom:clamp(16px,2.4vw,26px);
}
.hero-bubble::after{
  content:"";position:absolute;left:34px;bottom:-8px;width:16px;height:16px;
  background:#fff;transform:rotate(45deg);border-radius:3px;
}

/* 白フチ＋影つきの極太見出し（マチダ風。画像を使わずCSSで作る） */
.deco{font-family:var(--display);font-weight:400;line-height:1.12;letter-spacing:.01em;}
.deco-l1,.deco-l2{display:block;paint-order:stroke fill;white-space:nowrap;}
.deco-l1{
  font-size:clamp(22px,3vw,40px);color:var(--ink);
  -webkit-text-stroke:5px #fff;text-shadow:0 3px 0 rgba(23,99,196,.16);
  margin-bottom:.12em;
}
.deco-l2{
  font-size:clamp(38px,5.1vw,80px);color:var(--ink);
  -webkit-text-stroke:8px #fff;text-shadow:0 7px 0 rgba(23,99,196,.22),0 14px 28px rgba(14,74,153,.22);
}
.deco-l2 em{font-style:normal;color:var(--blue);-webkit-text-stroke:8px #fff;}
.hero-title-img{display:none;margin:0 0 10px;max-width:100%;}
.hero-title-img.has-img{display:block;}
.hero-title-img.has-img + .deco{
  position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;
}
.hero-title-img > img{position:static;width:100%;height:auto;object-fit:contain;}

/* 円形バッジ */
.medals{display:flex;gap:clamp(10px,1.6vw,18px);list-style:none;margin-top:clamp(18px,2.6vw,28px);flex-wrap:wrap;}
.medals li{
  width:clamp(104px,10.6vw,132px);aspect-ratio:1;border-radius:50%;
  background:#fff;border:4px solid var(--sky);
  box-shadow:0 0 0 4px #fff,0 8px 20px rgba(23,99,196,.14);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  line-height:1.25;padding:8px;
}
.medals small{font-size:10.5px;font-weight:800;color:var(--sky);letter-spacing:.04em;margin-bottom:5px;}
.medals b{font-family:var(--display);font-weight:400;font-size:clamp(14px,1.3vw,16px);color:var(--blue);}

/* 写真 */
.hero-photo{
  aspect-ratio:4/3;background:#fff;border-radius:var(--r-l);
  box-shadow:var(--shadow-l);display:flex;align-items:center;justify-content:center;
  text-align:center;font-size:12.5px;font-weight:700;color:var(--gray);line-height:1.8;
  position:relative;overflow:hidden;
}
.hero-photo small{font-size:11px;color:#9AB0BC;}
.hero-photo > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

/* ヒーロー下の帯（2段） */
.hero-strip{background:var(--sky);position:relative;padding:22px 0 56px;}
.hero-strip::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:36px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 36' preserveAspectRatio='none'><path d='M0,36 V16 C160,38 340,-4 600,16 C860,38 1040,-4 1200,16 V36 Z' fill='%23ffffff'/></svg>") repeat-x bottom center;
  background-size:1200px 36px;
}
.hero-strip-in{display:flex;flex-direction:column;align-items:flex-start;gap:10px;}
.strip-a,.strip-b{
  display:inline-block;font-weight:900;border-radius:var(--pill);padding:9px 22px;
  font-size:clamp(13px,1.5vw,16px);letter-spacing:.03em;
}
.strip-a{background:#fff;color:var(--blue);}
.strip-b{background:var(--yellow);color:var(--ink);font-family:var(--display);font-weight:400;font-size:clamp(15px,1.8vw,20px);}
.hero-tag{
  display:inline-block;background:var(--blue);color:#fff;
  font-size:13px;font-weight:800;letter-spacing:.08em;
  padding:9px 22px;border-radius:var(--pill);margin-bottom:clamp(22px,3vw,32px);
  box-shadow:0 4px 0 var(--blue-d);
}
.hero h1{font-family:var(--display);font-size:clamp(30px,6.8vw,58px);font-weight:400;line-height:1.34;letter-spacing:.01em;}
.hero h1 .ln{display:block;overflow:hidden;}
.hero h1 .ln > span{display:block;}
.hero h1 em{font-style:normal;position:relative;z-index:0;color:var(--blue);}
.hero h1 em::after{
  content:"";position:absolute;left:-.04em;right:-.04em;bottom:.04em;height:.3em;
  background:var(--yellow);border-radius:5px;z-index:-1;transform-origin:left;
}
.hero-sub{margin-top:clamp(22px,3vw,32px);font-size:clamp(15px,1.7vw,17px);line-height:2.1;font-weight:600;max-width:42ch;}
.hero-act{display:flex;gap:14px;flex-wrap:wrap;margin-top:clamp(28px,3.6vw,38px);}
.hero-note{margin-top:22px;font-size:13px;font-weight:700;color:var(--gray);}

/* ===== 下層ページのヘッダー ===== */
.phead{
  background:linear-gradient(180deg,#DFF3FE,#EAF7FE);
  padding-top:clamp(116px,13vw,162px);padding-bottom:clamp(52px,6.4vw,80px);
  position:relative;overflow:hidden;
}
.phead::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:36px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 36' preserveAspectRatio='none'><path d='M0,36 V16 C160,38 340,-4 600,16 C860,38 1040,-4 1200,16 V36 Z' fill='%23ffffff'/></svg>") repeat-x bottom center;
  background-size:1200px 36px;
}
.phead > .shell{position:relative;z-index:1;}
.crumbs{font-size:12.5px;font-weight:700;color:var(--gray);margin-bottom:clamp(20px,2.6vw,30px);}
.crumbs a:hover{color:var(--blue);}
.crumbs span{margin:0 .5em;}
.phead .eyebrow{margin-bottom:14px;background:#fff;}
.phead h1{font-family:var(--display);font-size:clamp(25px,4.2vw,42px);font-weight:400;line-height:1.45;text-wrap:balance;}
.phead .lead{margin-top:clamp(18px,2.6vw,28px);font-size:15.5px;line-height:2.05;max-width:64ch;font-weight:600;}
.phead .lead p + p{margin-top:1em;}

/* ===== セクション ===== */
.sec{padding-block:var(--sec);}
.sec-mist{background:var(--wash);}
.sec-ink{background:var(--blue);color:#fff;}
.sec-ink .s-title{color:#fff;}
.sec-ink .s-title em{color:var(--ink);}
.sec-ink .eyebrow{background:rgba(255,255,255,.2);color:#fff;}
.sec-ink .s-lead{color:rgba(255,255,255,.85);}

/* ===== 汎用グリッド ===== */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.4vw,28px);}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,26px);}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,22px);}

/* ===== お困りごとチェック ===== */
.check{display:grid;grid-template-columns:1fr 1fr;gap:14px clamp(18px,2.4vw,28px);}
.check li{
  list-style:none;display:flex;gap:14px;align-items:flex-start;
  background:#fff;border-radius:var(--r);padding:18px 22px;
  font-size:15px;font-weight:700;line-height:1.7;box-shadow:var(--shadow);
}
.check li::before{
  content:"";flex:0 0 22px;height:22px;margin-top:.15em;border-radius:50%;
  background:var(--sky) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M5 12l5 5L19 7' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/15px no-repeat;
}
.check-note{margin-top:26px;font-size:14.5px;color:var(--gray);line-height:1.95;}

/* ===== 目安時期 ===== */
.timing{background:#fff;border-radius:var(--r-l);padding:8px clamp(20px,3vw,34px);box-shadow:var(--shadow);}
.timing > div{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:19px 0;border-bottom:2px dotted var(--line);}
.timing > div:last-child{border-bottom:none;}
.timing dt{font-size:15px;font-weight:700;}
.timing dd{
  font-size:17px;font-weight:900;color:var(--blue);white-space:nowrap;
  background:var(--blue-l);border-radius:var(--pill);padding:5px 18px;font-variant-numeric:tabular-nums;
}

/* ===== 箇条書き ===== */
.list-a{display:flex;flex-direction:column;gap:10px;}
.list-a li{list-style:none;position:relative;padding-left:26px;font-size:14.5px;line-height:1.85;}
.list-a li::before{
  content:"";position:absolute;left:0;top:.6em;width:12px;height:12px;border-radius:50%;
  background:var(--sky-l);border:3px solid var(--sky);
}
.list-a.muted li{color:var(--gray);}
.list-a.muted li::before{background:#fff;border-color:#B9C9D3;}
.list-a.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px 30px;}

/* ===== 枠つき注記 ===== */
.callout{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(24px,3vw,34px);box-shadow:var(--shadow);}
.callout h3{font-size:18px;font-weight:800;margin-bottom:14px;color:var(--blue);}
.callout p{font-size:14.5px;line-height:1.95;color:#3D5563;}
.callout p + p{margin-top:.9em;}
.note-line{
  background:#fff;border-radius:var(--r);padding:20px 26px;
  border-left:6px solid var(--sky);font-size:14.5px;line-height:1.95;font-weight:600;box-shadow:var(--shadow);
}
.small-note{font-size:13px;color:var(--gray);line-height:1.9;margin-top:16px;}

/* ===== 含む／含まない ===== */
.inc{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.4vw,26px);}
.inc-col{background:#fff;border-radius:var(--r-l);padding:clamp(26px,3vw,36px);box-shadow:var(--shadow);}
.inc-col h3{
  font-size:18px;font-weight:900;padding:12px 20px;margin-bottom:22px;border-radius:var(--pill);
  background:var(--sky);color:#fff;display:inline-block;
}
.inc-col.alt h3{background:#8FA6B3;}

/* ===== 料金表 ===== */
.ptable-wrap{overflow-x:auto;background:#fff;border-radius:var(--r-l);padding:clamp(14px,2.4vw,28px);box-shadow:var(--shadow);}
.ptable{width:100%;border-collapse:collapse;font-size:15px;}
.ptable caption{caption-side:bottom;padding-top:20px;font-size:13px;color:var(--gray);text-align:left;line-height:1.9;}
.ptable th,.ptable td{padding:17px 10px;border-bottom:2px dotted var(--line);text-align:left;}
.ptable thead th{font-size:12px;font-weight:800;letter-spacing:.1em;color:var(--gray);border-bottom:2px solid var(--blue);}
.ptable tbody th{font-weight:700;}
.ptable tbody tr:last-child th,.ptable tbody tr:last-child td{border-bottom:none;}
.ptable td{text-align:right;font-size:17px;font-weight:900;color:var(--blue);font-variant-numeric:tabular-nums;white-space:nowrap;}

/* ===== ラインナップ ===== */
.lineup{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,22px);}
.maker{background:#fff;border-radius:var(--r-l);padding:28px 26px 30px;box-shadow:var(--shadow);}
.maker h3{
  font-size:13px;font-weight:900;letter-spacing:.1em;color:#fff;background:var(--blue);
  padding:7px 16px;border-radius:var(--pill);display:inline-block;margin-bottom:16px;
}
.maker li{list-style:none;font-size:14.5px;font-weight:700;padding:7px 0;border-bottom:2px dotted var(--line);}
.maker li:last-child{border-bottom:none;}

/* ===== 即日見積り ===== */
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.2vw,24px);}
.cmp-col{background:rgba(255,255,255,.12);border-radius:var(--r-l);padding:clamp(26px,3vw,34px);}
.cmp-col.ours{background:#fff;color:var(--ink);box-shadow:var(--shadow-l);}
.cmp-h{
  font-size:13px;font-weight:900;letter-spacing:.06em;margin-bottom:22px;
  background:rgba(255,255,255,.22);color:#fff;padding:8px 18px;border-radius:var(--pill);display:inline-block;
}
.cmp-col.ours .cmp-h{background:var(--yellow);color:var(--ink);}
.cmp-col li{
  list-style:none;position:relative;padding-left:32px;padding-bottom:16px;
  font-size:14.5px;font-weight:700;line-height:1.7;color:rgba(255,255,255,.9);
}
.cmp-col.ours li{color:var(--ink);}
.cmp-col li::before{content:"";position:absolute;left:6px;top:7px;width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.45);}
.cmp-col li::after{content:"";position:absolute;left:11px;top:20px;bottom:2px;width:2px;background:rgba(255,255,255,.25);}
.cmp-col li:last-child{padding-bottom:0;}
.cmp-col li:last-child::after{display:none;}
.cmp-col.ours li::before{background:var(--sky);}
.cmp-col.ours li::after{background:var(--sky-l);}
.cmp-res{margin-top:22px;font-size:15.5px;font-weight:900;color:#fff;background:rgba(0,0,0,.16);padding:12px 20px;border-radius:var(--r);}
.cmp-col.ours .cmp-res{background:var(--yellow);color:var(--ink);}
.est-txt{margin-top:clamp(30px,4vw,44px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3.4vw,44px);align-items:start;}
.est-txt p{font-size:14.5px;line-height:2;color:rgba(255,255,255,.9);font-weight:600;}
.est-note{background:rgba(255,255,255,.14);border-radius:var(--r);padding:22px 26px;font-size:14.5px;line-height:2;color:#fff;font-weight:700;}

/* ===== 流れ ===== */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(10px,1.4vw,16px);}
.step{background:#fff;border-radius:var(--r-l);padding:26px 18px 24px;text-align:center;box-shadow:var(--shadow);position:relative;}
.step.on{background:var(--blue);color:#fff;}
.step-n{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:50%;background:var(--sky-l);color:var(--blue);
  font-size:14px;font-weight:900;margin-bottom:12px;font-variant-numeric:tabular-nums;
}
.step.on .step-n{background:var(--yellow);color:var(--ink);}
.step h3{font-size:16px;font-weight:900;margin-bottom:10px;line-height:1.5;}
.step p{font-size:12.5px;line-height:1.8;color:var(--gray);}
.step.on p{color:rgba(255,255,255,.85);}

/* ===== 事例 ===== */
.case figure{aspect-ratio:3/2;background:var(--blue-l);border-radius:var(--r-l);display:flex;align-items:center;justify-content:center;}
.case figure span{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--gray);}
.case-b{padding-top:16px;}
.case-tag{font-size:11.5px;font-weight:900;letter-spacing:.06em;color:#fff;background:var(--sky);padding:5px 14px;border-radius:var(--pill);display:inline-block;}
.case-b h3{font-size:17px;font-weight:800;margin:12px 0 6px;}
.case-b p{font-size:12.5px;color:var(--gray);font-weight:600;}

/* ===== FAQ ===== */
.faq{display:flex;flex-direction:column;gap:12px;}
.faq details{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;}
.faq summary{list-style:none;cursor:pointer;padding:22px 56px 22px 62px;position:relative;font-size:16px;font-weight:800;line-height:1.65;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::before{
  content:"Q";position:absolute;left:22px;top:20px;width:28px;height:28px;border-radius:50%;
  background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;
}
.faq summary::after{
  content:"";position:absolute;right:26px;top:29px;width:12px;height:12px;
  border-right:3px solid var(--sky);border-bottom:3px solid var(--sky);transform:rotate(45deg);transition:transform .3s;
}
.faq details[open] summary::after{transform:rotate(-135deg);}
.faq .a{padding:0 30px 26px 62px;font-size:14.5px;line-height:1.95;color:#3D5563;position:relative;}
.faq .a::before{
  content:"A";position:absolute;left:22px;top:0;width:28px;height:28px;border-radius:50%;
  background:var(--yellow);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;
}
.faq .a p + p{margin-top:.8em;}

/* ===== 関連リンク ===== */
.relnav{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(12px,1.6vw,18px);}
.relnav a{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px 26px;
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;
}
.relnav a:hover{transform:translateY(-3px);box-shadow:var(--shadow-l);}
.relnav b{font-size:16px;font-weight:800;}
.relnav span{
  width:30px;height:30px;border-radius:50%;background:var(--sky);color:#fff;
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-weight:900;
}

/* ===== CTA帯 ===== */
.ctaband{background:var(--sky);color:#fff;padding-block:clamp(50px,7vw,80px);}
.ctaband h2{font-family:var(--display);font-size:clamp(20px,2.8vw,30px);font-weight:400;line-height:1.6;text-wrap:balance;}
.ctaband p{margin-top:18px;font-size:15px;line-height:1.95;font-weight:600;max-width:56ch;}
.ctaband .acts{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;}

/* ===== フッター ===== */
.ft{background:var(--blue-l);padding-block:clamp(50px,7vw,74px) 24px;}
.ft-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:clamp(26px,4vw,50px);padding-bottom:38px;}
.ft .brand-logo{width:200px;margin-bottom:6px;}
.ft-info{margin-top:16px;font-size:13px;line-height:2.05;color:var(--gray);font-weight:600;}
.ft h4{font-size:12px;font-weight:900;letter-spacing:.14em;margin-bottom:16px;color:var(--blue);}
.ft nav{display:flex;flex-direction:column;gap:10px;}
.ft nav a{font-size:13.5px;font-weight:700;color:#4A6472;transition:color .2s;}
.ft nav a:hover{color:var(--blue);}
.copy{padding-top:20px;border-top:2px dotted var(--line);font-size:11.5px;font-weight:700;color:var(--gray);}

/* ===== ページ最下部の運営会社 ===== */
.sitelinks{background:#F2F6F9;padding:34px 0 22px;}
.sitelinks-in{
  display:flex;align-items:center;justify-content:space-between;
  gap:clamp(18px,3vw,40px);flex-wrap:wrap;
}
.sitelinks-co{flex:1 1 380px;}
.sitelinks-label{
  display:inline-block;font-size:11px;font-weight:900;letter-spacing:.16em;
  color:#fff;background:var(--gray);padding:5px 14px;border-radius:var(--pill);
}
.sitelinks-name{font-size:19px;font-weight:900;margin:12px 0 6px;}
.sitelinks-txt{font-size:13px;line-height:1.9;color:var(--gray);font-weight:600;}
.sitelinks-btn{
  display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;
  background:#fff;border-radius:var(--pill);padding:15px 26px;
  font-size:14px;font-weight:800;color:var(--blue);
  box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;
}
.sitelinks-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-l);}
.sitelinks-btn svg{
  width:16px;height:16px;flex:0 0 auto;
  fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
}
.sitelinks-copy{
  margin-top:26px;padding-top:20px;border-top:2px dotted #DCE4EA;
  text-align:center;font-size:11.5px;font-weight:700;color:var(--gray);
}
@media (max-width:760px){
  .sitelinks-in{flex-direction:column;align-items:flex-start;}
  .sitelinks-btn{width:100%;justify-content:center;}
}

/* ===== 大きなCTAボタン（電話／お問い合わせ／LINE を同じ形・同じ高さに） ===== */
.ctab{
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  min-width:250px;min-height:150px;padding:14px 30px 16px;border-radius:44px;
  color:#fff;text-align:center;line-height:1.2;
  transition:transform .15s,box-shadow .15s;
}
.ctab:hover{transform:translateY(2px);}
.ctab-top{font-size:12.5px;font-weight:800;letter-spacing:.06em;opacity:.95;}
.ctab-ic{width:46px;height:46px;display:flex;align-items:center;justify-content:center;}
.ctab-ic svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.ctab-ic img{width:46px;height:46px;display:block;}
.ctab-txt{font-family:var(--display);font-weight:400;font-size:19px;letter-spacing:.03em;}
.ctab-line{background:var(--green);box-shadow:0 5px 0 #05A648,0 10px 22px rgba(6,199,85,.28);}
.ctab-line:hover{box-shadow:0 3px 0 #05A648,0 8px 18px rgba(6,199,85,.28);}
.ctab-mail{background:var(--yellow);color:var(--ink);box-shadow:0 5px 0 var(--yellow-d),0 10px 22px rgba(255,200,0,.28);}
.ctab-mail:hover{box-shadow:0 3px 0 var(--yellow-d),0 8px 18px rgba(255,200,0,.28);}
.ctab-mail .ctab-ic svg{stroke:var(--ink);}
.ctab-tel{
  flex-direction:row;gap:16px;min-width:300px;padding:14px 30px;
  background:var(--blue);box-shadow:0 5px 0 var(--blue-d),0 10px 22px rgba(23,99,196,.28);
}
.ctab-tel:hover{box-shadow:0 3px 0 var(--blue-d),0 8px 18px rgba(23,99,196,.28);}
.ctab-tel .ctab-ic{width:54px;height:54px;border-radius:50%;background:#fff;}
.ctab-tel .ctab-ic svg{stroke:var(--blue);fill:var(--blue);width:28px;height:28px;}
.ctab-num{font-family:var(--display);font-weight:400;font-size:clamp(24px,2.4vw,32px);letter-spacing:.02em;text-align:left;}
.ctab-num small{display:block;font-family:var(--font);font-weight:800;font-size:12px;letter-spacing:.04em;margin-top:6px;opacity:.95;}
.ctab-row{display:flex;gap:clamp(12px,1.8vw,22px);flex-wrap:wrap;justify-content:center;align-items:stretch;}
.ctab-row .ctab{flex:1 1 250px;}
.ctab-row .ctab-tel{flex:1.4 1 320px;}
.hero-act{align-items:stretch;}
.hero-act .ctab{flex:1 1 220px;min-width:0;}
.ctaband .acts{align-items:stretch;}
.ctaband .acts .ctab{flex:1 1 230px;min-width:0;}
.fixcta a.l img{width:20px;height:20px;display:inline-block;vertical-align:middle;margin-right:5px;}
/* 濃い青の上のフォーム：入力欄のサンプル文字は白 */
.sec-ink input::placeholder,.sec-ink textarea::placeholder{color:rgba(255,255,255,.82);opacity:1;}

/* ===== お問い合わせページ ===== */
.way{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;}
.way-label{
  display:inline-block;background:var(--blue-l);color:var(--blue);
  font-size:11.5px;font-weight:900;letter-spacing:.1em;padding:5px 14px;border-radius:var(--pill);margin-bottom:12px;
}
.way h3{margin-bottom:14px;}
.way-tel{
  font-family:var(--display);font-weight:400;font-size:clamp(26px,2.6vw,32px);color:var(--blue);
  line-height:1.2;margin-bottom:6px;letter-spacing:.02em;
}
.way p{font-size:14px;color:var(--gray);font-weight:700;}
.way .small-note{margin-top:14px;text-align:left;}
.way .linebtn{width:100%;}

/* ===== 商品カード（メーカー・工事費込み価格・型番） ===== */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.2vw,26px);}
.pcard{
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-l);overflow:hidden;box-shadow:var(--shadow);
  transition:transform .2s,box-shadow .2s;
}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-l);}
.pcard-ph{
  aspect-ratio:4/3;background:var(--blue-l);display:flex;align-items:center;justify-content:center;
  text-align:center;font-size:12px;font-weight:700;color:var(--gray);line-height:1.7;position:relative;overflow:hidden;
}
.pcard-ph small,.pdetail-ph small{font-size:10.5px;color:#9AB0BC;}
.pcard-ph > img,.pdetail-ph > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.pcard-body{padding:18px 22px 22px;display:flex;flex-direction:column;flex:1;}
.pcard-maker{height:30px;display:flex;align-items:center;position:relative;margin-bottom:8px;}
.pcard-maker b{font-family:var(--display);font-weight:400;font-size:20px;color:var(--blue);letter-spacing:.02em;}
.pcard-maker > img{position:static;height:30px;width:auto;object-fit:contain;}
.pcard-maker.has-img b{display:none;}
.pcard-price{display:flex;align-items:center;gap:8px;margin:2px 0 10px;line-height:1.15;}
.pp-l{font-size:11.5px;font-weight:900;color:var(--ink);text-align:right;}
.pp-n{font-family:var(--display);font-weight:400;font-size:44px;color:#E8552A;letter-spacing:-.01em;font-style:italic;}
.pp-u{font-size:11.5px;font-weight:900;color:var(--ink);}
.pcard-price.big .pp-n{font-size:clamp(48px,5vw,64px);}
.pcard-price.big .pp-l,.pcard-price.big .pp-u{font-size:13px;}
.pcard-name{font-size:17px;font-weight:900;margin-bottom:8px;line-height:1.5;}
.pcard-txt{font-size:13.5px;line-height:1.85;color:var(--gray);font-weight:600;flex:1;}
.pcard-more{margin-top:14px;font-size:13px;font-weight:900;color:var(--blue);}
/* 個別ページ */
.pdetail{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:start;}
.pdetail-ph{
  aspect-ratio:4/3;background:var(--blue-l);border-radius:var(--r-l);display:flex;align-items:center;justify-content:center;
  text-align:center;font-size:13px;font-weight:700;color:var(--gray);line-height:1.8;position:relative;overflow:hidden;
}
.pdetail-body{min-width:0;}
.pdetail .ctab{flex:1 1 200px;min-width:0;}
.pdetail-txt{margin-top:18px;font-size:15px;line-height:2;font-weight:600;}
@media (max-width:1000px){ .pgrid{grid-template-columns:repeat(2,1fr);} .pdetail{grid-template-columns:1fr;} }
@media (max-width:640px){ .pgrid{grid-template-columns:1fr;} }

.pcard-code{font-size:11.5px;font-weight:700;color:var(--gray);margin:-4px 0 8px;line-height:1.5;word-break:break-all;}
/* 価格を出さないあいだの表示 */
.pcard-ask{margin:2px 0 12px;padding:10px 14px;border-radius:var(--r-s);background:var(--blue-l);line-height:1.4;}
.pcard-ask b{display:block;font-size:14px;font-weight:900;color:var(--blue);}
.pcard-ask span{display:block;margin-top:4px;font-size:11.5px;font-weight:700;color:var(--gray);}
.pcard-ask.big{padding:16px 20px;border-radius:var(--r);}
.pcard-ask.big b{font-size:clamp(18px,2vw,22px);}
.pcard-ask.big span{font-size:13px;}
/* メーカー提供の写真は切り抜かない・出典を出す */
.pcard-ph > img,.pdetail-ph > img{object-fit:contain;background:#fff;}
.pcard-ph figcaption,.pdetail-ph figcaption{
  position:absolute;right:8px;bottom:6px;z-index:1;font-size:10px;font-weight:700;color:#8AA0AD;
  background:rgba(255,255,255,.85);padding:2px 8px;border-radius:var(--pill);display:none;
}
.pcard-ph.has-img figcaption,.pdetail-ph.has-img figcaption{display:block;}

/* ===== トップ：リフォームメニューのカード ===== */
.mcards{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,24px);}
.mcard{
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-l);overflow:hidden;box-shadow:var(--shadow);
  transition:transform .2s,box-shadow .2s;
}
.mcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-l);}
.mcard-ph{
  position:relative;aspect-ratio:4/3;background:var(--blue-l);overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.mcard-ph svg{width:44%;stroke:var(--blue);fill:none;stroke-width:1.1;opacity:.8;}
.mcard-ph span{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-size:10.5px;font-weight:700;letter-spacing:.2em;color:var(--gray);}
.mcard-ph > img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;}
.mcard-credit{position:absolute;right:8px;bottom:6px;z-index:1;font-size:10px;font-weight:700;color:#8AA0AD;background:rgba(255,255,255,.85);padding:2px 8px;border-radius:var(--pill);display:none;}
.mcard-ph.has-img .mcard-credit{display:block;}
.mcard-ph.has-img svg,.mcard-ph.has-img span{display:none;}
.mcard-body{padding:24px 22px 24px;display:flex;flex-direction:column;flex:1;}
.mcard-body h3{font-size:19px;font-weight:900;line-height:1.5;margin-bottom:10px;}
.mcard-body p{font-size:13.5px;line-height:1.95;color:var(--gray);font-weight:600;flex:1;}
.mcard-price{margin:18px 0 14px;padding:10px 14px;border-radius:var(--r-s);background:var(--blue-l);font-size:12px;font-weight:800;color:var(--gray);}
.mcard-price b{font-size:15px;color:var(--ink);margin-left:6px;}
.mcard-more{display:flex;justify-content:space-between;font-size:13px;font-weight:900;color:var(--blue);}
.mcard-more i{font-style:normal;}

/* ===== トップ：選ばれる3つの理由 ===== */
.reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.2vw,26px);}
.reason{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-l);
  padding:clamp(26px,3vw,36px) clamp(22px,2.6vw,30px);box-shadow:var(--shadow);position:relative;
}
.reason-n{display:block;width:max-content;margin-inline:auto;font-family:var(--display);font-weight:400;font-size:12px;letter-spacing:.12em;color:var(--blue);background:var(--blue-l);padding:5px 12px;border-radius:var(--pill);}
.reason-ic{display:block;width:52px;height:52px;margin:18px auto 16px;border-radius:50%;background:var(--wash);display:flex;align-items:center;justify-content:center;}
.reason-ic svg{width:30px;height:30px;stroke:var(--blue);fill:none;stroke-width:1.4;}
.reason h3{font-size:clamp(17px,1.9vw,20px);font-weight:900;line-height:1.6;margin-bottom:12px;}
.reason p{font-size:14px;line-height:2;color:var(--gray);font-weight:600;}
@media (max-width:1000px){ .mcards{grid-template-columns:repeat(2,1fr);} .reasons{grid-template-columns:1fr;} }
@media (max-width:560px){ .mcards{grid-template-columns:1fr;} }

/* フォームの入力欄も角丸に */
.sec-ink input,.sec-ink select,.sec-ink textarea{border-radius:var(--r-s);}

/* ===== ポップな誘導ボタン（トップ→リフォームメニュー一覧） ===== */
.popbtn{
  display:inline-flex;align-items:center;gap:12px;margin-top:22px;
  padding:16px 26px 16px 30px;border-radius:var(--pill);
  background:var(--yellow);color:var(--ink);font-size:16px;font-weight:900;letter-spacing:.03em;
  box-shadow:0 5px 0 var(--yellow-d),var(--shadow);transform:rotate(-1.5deg);
  transition:transform .15s,box-shadow .15s;white-space:nowrap;
}
.popbtn b{font-family:var(--display);font-weight:400;font-size:1.3em;color:var(--blue);margin-left:2px;}
.popbtn i{
  font-style:normal;display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;font-weight:900;
  animation:popbtn-nudge 1.2s ease-in-out infinite;
}
.popbtn:hover{transform:rotate(-1.5deg) translateY(3px);box-shadow:0 2px 0 var(--yellow-d),var(--shadow);}
@keyframes popbtn-nudge{0%,100%{transform:translateX(0);}50%{transform:translateX(4px);}}
@media (max-width:560px){ .popbtn{white-space:normal;font-size:15px;padding:14px 20px 14px 22px;} }
/* まとめページのカテゴリボタンは白地に置く */
#toilet .ptable-wrap,#washstand .ptable-wrap,#faucet .ptable-wrap{background:transparent;}

/* こちらボタンはカードの右下に置く */
.popbtn-wrap{text-align:right;margin-top:clamp(22px,3vw,34px);}
.popbtn-wrap .popbtn{margin-top:0;transform:rotate(1.5deg);}
.popbtn-wrap .popbtn:hover{transform:rotate(1.5deg) translateY(3px);}
/* 流れのステップは全部同じ青 */
.steps .step{background:var(--blue);color:#fff;}
.steps .step .step-n{background:var(--yellow);color:var(--ink);}
.steps .step p{color:rgba(255,255,255,.85);}

/* カテゴリボタン：ボタンらしく大きく */
.catbtns{width:min(1400px,100%);gap:clamp(10px,1.4vw,18px);}
.catbtn{
  border:3px solid var(--ink);border-radius:28px;padding:30px 10px 24px;gap:12px;
  box-shadow:0 6px 0 var(--ink);
}
.catbtn:hover{transform:translateY(4px);box-shadow:0 2px 0 var(--ink);border-color:var(--ink);}
.catbtn svg{width:56px;height:56px;}
.catbtn b{font-size:17px;}
.catbtn small{font-size:13px;}
.catbtn::after{
  content:"›";display:flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;
  font-size:18px;font-weight:900;line-height:1;margin-top:2px;
}
@media (max-width:1040px){ .catbtn{padding:24px 8px 20px;} .catbtn svg{width:46px;height:46px;} .catbtn b{font-size:15px;} }

.map-ph{position:relative;overflow:hidden;}
.map-ph iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}

/* ===== スタッフ紹介 ===== */
.staffs{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(18px,2.6vw,30px);}
.staffs .staff{flex:0 1 calc((100% - 2*clamp(18px,2.6vw,30px))/3);min-width:240px;}
.staff{
  display:grid;grid-template-columns:1fr;gap:clamp(14px,1.8vw,20px);align-items:start;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(18px,2.2vw,26px);box-shadow:var(--shadow);
}
.staff-ph{
  position:relative;aspect-ratio:4/5;border-radius:var(--r);background:var(--blue-l);overflow:hidden;
  display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;font-weight:700;color:var(--gray);line-height:1.7;
}
.staff-ph small{font-size:10.5px;color:#9AB0BC;}
.staff-ph > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.staff-ph.has-img span{display:none;}
.staff-body{min-width:0;}
.staff-role{font-size:12.5px;font-weight:800;color:var(--blue);letter-spacing:.06em;}
.staff-name{font-size:clamp(20px,2.2vw,24px);font-weight:900;line-height:1.4;margin:4px 0 0;}
.staff-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
.staff-tags span{font-size:11.5px;font-weight:800;color:var(--blue);background:var(--blue-l);padding:4px 10px;border-radius:var(--pill);}
.staff-msg{font-size:14px;line-height:1.95;color:var(--gray);font-weight:600;}
@media (max-width:900px){ .staffs .staff{flex-basis:calc((100% - clamp(18px,2.6vw,30px))/2);} }
@media (max-width:560px){ .staffs .staff{flex-basis:100%;} }
@media (max-width:520px){ .staff{grid-template-columns:1fr;} .staff-ph{aspect-ratio:4/3;} }

/* ===== アフター点検 ===== */
.after-note{
  margin-top:clamp(20px,2.6vw,30px);padding:16px 22px;border-radius:var(--r);
  background:var(--blue-l);border:1px dashed var(--blue);font-size:14.5px;line-height:1.9;font-weight:600;
}
.after-note b{color:var(--blue);font-weight:900;margin-right:4px;}
.after-note a{color:var(--blue);font-weight:900;text-decoration:underline;text-underline-offset:3px;margin-left:6px;white-space:nowrap;}
.after-pillar{position:relative;padding-top:clamp(26px,3vw,34px);}
.after-num{display:block;font-family:var(--display);font-weight:400;font-size:clamp(40px,5vw,60px);line-height:1;color:var(--blue);margin-bottom:8px;}
.after-num small{font-size:.42em;margin-left:2px;}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(10px,1.4vw,16px);}
.tl{background:#fff;border-radius:var(--r-l);padding:22px 18px 22px;box-shadow:var(--shadow);border:1px solid var(--line);}
.tl.on{background:var(--blue);color:#fff;border-color:var(--blue);}
.tl-y{display:inline-block;font-family:var(--display);font-weight:400;font-size:13px;letter-spacing:.06em;color:var(--blue);background:var(--sky-l);padding:5px 12px;border-radius:var(--pill);margin-bottom:12px;}
.tl.on .tl-y{background:var(--yellow);color:var(--ink);}
.tl h3{font-size:15.5px;font-weight:900;line-height:1.55;margin-bottom:8px;}
.tl p{font-size:12.5px;line-height:1.8;color:var(--gray);}
.tl.on p{color:rgba(255,255,255,.85);}
@media (max-width:1000px){ .timeline{grid-template-columns:repeat(2,1fr);} .timeline .tl:last-child{grid-column:span 2;} }
@media (max-width:560px){ .timeline{grid-template-columns:1fr;} .timeline .tl:last-child{grid-column:auto;} }

/* ===== 404 のサイト内検索 ===== */
.sitesearch{display:flex;border:2px solid var(--blue);border-radius:var(--pill);overflow:hidden;background:#fff;box-shadow:var(--shadow);}
.sitesearch input{flex:1;border:0;padding:16px 22px;font-size:15px;background:transparent;min-width:0;}
.sitesearch input:focus{outline:none;}
.sitesearch button{border:0;background:var(--blue);color:#fff;width:64px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.sitesearch button svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:2.2;stroke-linecap:round;}
.sitesearch button:hover{background:var(--blue-d);}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* ===== お問い合わせフォーム ===== */
.cform{display:flex;flex-direction:column;gap:20px;}
.cform-row{min-width:0;}
.cform label{display:block;font-size:12.5px;font-weight:800;letter-spacing:.1em;margin-bottom:10px;color:rgba(255,255,255,.9);}
.cform-req{display:inline-block;font-size:10px;letter-spacing:.1em;color:var(--ink);background:var(--yellow);padding:2px 8px;border-radius:var(--pill);margin-left:8px;vertical-align:middle;}
.cform input[type=text],.cform input[type=tel],.cform input[type=email],.cform select,.cform textarea{
  width:100%;padding:14px 16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.3);border-radius:var(--r-s);color:#fff;font-size:16px;
}
.cform textarea{min-height:130px;resize:vertical;}
.cform select option{background:var(--blue);color:#fff;}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:2px solid var(--yellow);outline-offset:1px;}
.cform .is-bad{border-color:var(--yellow);box-shadow:0 0 0 2px rgba(255,225,0,.35);}
.cform-consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;font-weight:700;letter-spacing:0;line-height:1.7;cursor:pointer;}
.cform-consent input{width:20px;height:20px;margin-top:3px;accent-color:var(--yellow);flex:0 0 auto;}
.cform-consent a{color:#fff;text-decoration:underline;text-underline-offset:3px;}
.cform-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.cform-note{margin-top:14px;font-size:12.5px;color:rgba(255,255,255,.75);font-weight:700;}
.cform-err{background:var(--yellow);color:var(--ink);border-radius:var(--r-s);padding:14px 18px;font-size:14px;font-weight:800;line-height:1.8;}
.cform-err ul{margin:6px 0 0 1.2em;}

/* ===== キャラクター（ミズプロ＝バスタブ／トイレ君） ===== */
.mascot{pointer-events:none;user-select:none;}
.ctaband{overflow:hidden;}
.ctaband .shell{position:relative;}
.mascot-cta{position:absolute;right:calc(var(--gut) - 10px);bottom:-14px;width:clamp(96px,12vw,170px);height:auto;filter:drop-shadow(0 6px 10px rgba(0,0,0,.18));transform:rotate(-6deg);}
.phead .shell{position:relative;}
.phead.has-mascot .lead{max-width:min(62ch,calc(100% - 220px));}
.mascot-head{position:absolute;right:var(--gut);bottom:-10px;width:clamp(120px,15vw,200px);height:auto;filter:drop-shadow(0 8px 14px rgba(23,99,196,.18));}
.mascot-toilet{width:clamp(110px,13vw,170px);transform:rotate(4deg);}
.s-head.has-mascot{position:relative;padding-right:150px;}
.mascot-sec{position:absolute;right:0;top:-10px;width:120px;height:auto;transform:rotate(6deg);}
.prep{display:flex;gap:clamp(16px,2.4vw,28px);align-items:center;border:1px dashed var(--blue);background:var(--blue-l);}
.prep-ic{width:clamp(80px,10vw,120px);height:auto;flex:0 0 auto;}
.prep h3{margin-bottom:6px;}
.is-pending{opacity:.55;cursor:default;}
.ctab-line.is-pending{box-shadow:none;}
@media (max-width:900px){
  .phead.has-mascot .lead{max-width:none;}
  .mascot-head{position:static;display:block;width:110px;margin:12px 0 0 auto;transform:none;}
  .s-head.has-mascot{padding-right:0;} .mascot-sec{position:static;display:block;width:90px;margin:0 0 8px auto;}
  .mascot-cta{width:84px;right:6px;bottom:-10px;opacity:.9;}
  .prep{flex-direction:column;text-align:center;}
}

/* スタッフ写真 準備中 */
.staff-soon{background:linear-gradient(160deg,var(--blue-l),#fff);}
.staff-soon span{display:flex;flex-direction:column;align-items:center;gap:6px;}
.staff-soon b{font-family:var(--display);font-weight:400;font-size:clamp(18px,2vw,24px);color:var(--blue);letter-spacing:.06em;}
.staff-soon small{font-size:11px;color:var(--gray);}

/* ===== お知らせ ===== */
.newsbar{padding:clamp(22px,3vw,34px) 0 0;}
.newsbar-in{background:#fff;border:2px solid var(--blue);border-radius:var(--r-l);padding:clamp(18px,2.4vw,26px) clamp(18px,3vw,32px);box-shadow:var(--shadow);}
.newsbar-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px;}
.newsbar-head h2{font-size:clamp(16px,1.8vw,19px);font-weight:900;}
.newsbar-head a{margin-left:auto;font-size:13px;font-weight:900;color:var(--blue);}
.newsbar-list{display:flex;flex-direction:column;gap:6px;}
.newsbar-item{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;border-radius:var(--r-s);transition:background .2s;}
.newsbar-item:hover{background:var(--blue-l);}
.newsbar-item time{font-family:var(--display);font-weight:400;font-size:13px;color:var(--gray);letter-spacing:.04em;}
.newsbar-item b{font-weight:900;font-size:15px;line-height:1.5;}
.newsbar-item.is-big{background:var(--blue-l);}
.newsbar-item.is-big b{font-size:clamp(16px,1.9vw,20px);}
.news-tag{font-size:11px;font-weight:900;color:#fff;background:var(--blue);padding:3px 10px;border-radius:var(--pill);letter-spacing:.06em;}
.news-tag.is-camp{background:var(--yellow);color:var(--ink);}
.news-list{display:flex;flex-direction:column;gap:clamp(16px,2.2vw,24px);}
.news{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(20px,2.8vw,32px);box-shadow:var(--shadow);}
.news-meta{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.news-meta time{font-family:var(--display);font-weight:400;font-size:14px;color:var(--gray);letter-spacing:.04em;}
.news-title{font-size:clamp(18px,2.2vw,22px);font-weight:900;line-height:1.5;margin-bottom:10px;}
.news-body{font-size:15px;line-height:2;color:var(--gray);font-weight:600;}
@media (max-width:1000px){ .mcards{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .mcards{grid-template-columns:1fr;} .newsbar-item b{font-size:14px;} }

/* お支払い方法の画像 */
.payfig{margin:12px 0 8px;max-width:760px;background:#fff;border:1px solid var(--line);border-radius:var(--r-s);padding:12px 14px;}
.payfig img{display:block;width:100%;height:auto;}
.hero-photo{aspect-ratio:16/10;}

/* ===== ヒーローのキャラクター（ゆらゆら） ===== */
.hero-char{position:relative;display:flex;justify-content:center;align-items:flex-end;min-height:clamp(260px,32vw,420px);}
.hero-char > img{position:relative;z-index:2;width:clamp(240px,30vw,400px);height:auto;filter:drop-shadow(0 18px 24px rgba(23,99,196,.22));transform-origin:50% 90%;animation:char-sway 4.2s ease-in-out infinite;}
.hero-char-shadow{position:absolute;z-index:1;left:50%;bottom:6px;width:clamp(150px,20vw,260px);height:26px;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(23,99,196,.22),rgba(23,99,196,0) 70%);animation:char-shadow 4.2s ease-in-out infinite;}
.hero-char-drop{position:absolute;z-index:3;width:14px;height:14px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:linear-gradient(180deg,#9ED2FF,var(--blue));opacity:0;animation:char-drop 3.6s ease-in infinite;}
.hero-char-drop.d1{left:24%;top:18%;animation-delay:.2s;}
.hero-char-drop.d2{left:70%;top:10%;width:10px;height:10px;animation-delay:1.4s;}
.hero-char-drop.d3{left:58%;top:26%;width:8px;height:8px;animation-delay:2.5s;}
@keyframes char-sway{0%,100%{transform:translateY(0) rotate(-4deg);}50%{transform:translateY(-16px) rotate(4deg);}}
@keyframes char-shadow{0%,100%{transform:translateX(-50%) scaleX(1);opacity:1;}50%{transform:translateX(-50%) scaleX(.78);opacity:.6;}}
@keyframes char-drop{0%{opacity:0;transform:translateY(-6px) scale(.6);}15%{opacity:.9;}60%{opacity:.9;}100%{opacity:0;transform:translateY(46px) scale(1);}}
@media (max-width:1000px){ .hero-char{min-height:0;margin-top:8px;} .hero-char > img{width:min(60vw,300px);} }

/* ===== ヒーロー右：集合写真＋キャラクター（採用版） ===== */
.hero-photo > img{position:static;display:block;width:100%;height:100%;object-fit:cover;}
@media (min-width:1001px){
  .hero-grid{grid-template-columns:1.05fr 1fr;align-items:start;gap:clamp(20px,3vw,40px);}
  .hero-side{position:relative;align-self:stretch;}
  .hero-photo{aspect-ratio:16/10;margin-top:clamp(28px,4vw,56px);}
  .hero-char{position:absolute;right:0;bottom:-6px;min-height:0;display:block;}
  .hero-char > img{width:clamp(180px,17vw,230px);display:block;}
  .hero-char-shadow{width:150px;bottom:2px;}
  .hero-char-drop.d1{left:20%;top:14%;} .hero-char-drop.d2{left:74%;top:8%;} .hero-char-drop.d3{left:60%;top:24%;}
}
@media (max-width:1000px){
  .hero-side{margin-top:10px;}
  .hero-photo{aspect-ratio:16/10;max-width:560px;margin:0 auto;}
  .hero-char{position:static;display:flex;justify-content:center;align-items:flex-end;min-height:0;margin-top:12px;}
  .hero-char > img{width:min(48vw,230px);}
}

/* ===== エコキュート：特別価格／実質価格 ===== */
.pcard-price.sp{display:block;margin:2px 0 10px;line-height:1.2;}
.sp-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.sp-l{font-size:11.5px;font-weight:900;color:#fff;background:var(--ink);padding:3px 8px;border-radius:4px;line-height:1.3;}
.sp-row.net .sp-l{background:#E8552A;}
.sp-n{font-family:var(--display);font-weight:400;font-size:26px;color:var(--ink);letter-spacing:-.01em;}
.sp-row.net .sp-n{font-size:34px;color:#E8552A;font-style:italic;}
.sp-u{font-size:13px;font-weight:900;color:var(--ink);}
.sp-u small{font-size:10.5px;}
.ptable td small{display:block;font-size:11.5px;color:var(--gray);margin-top:4px;}
.sp-note{margin-top:6px;font-size:11px;line-height:1.6;color:var(--gray);font-weight:700;}
.pcard-price.sp.big .sp-n{font-size:34px;} .pcard-price.sp.big .sp-row.net .sp-n{font-size:clamp(44px,5vw,60px);} .pcard-price.sp.big .sp-note{font-size:12.5px;}
.pcard-ph{position:relative;}
.pcard-badge{position:absolute;top:10px;right:10px;z-index:3;background:#E8552A;color:#fff;font-size:11.5px;font-weight:900;padding:5px 10px;border-radius:var(--pill);letter-spacing:.04em;box-shadow:0 4px 10px rgba(232,85,42,.3);}

/* ===== 改行調整 ===== */
.nw{white-space:nowrap;}
br.pc{display:none;}
@media (min-width:1001px){ br.pc{display:inline;} }
.hero-sub{max-width:none;}
.medals li{width:clamp(108px,11.4vw,140px);}
.medals b{font-size:clamp(13px,1.15vw,15px);}
.medals small{font-size:10px;}
.reason h3{font-size:clamp(16px,1.45vw,19px);}
/* エコキュートのカード */
.pcard-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:0;}
.pcard-tags li{font-size:11.5px;font-weight:800;color:var(--ink);background:var(--blue-l);border-radius:var(--pill);padding:4px 10px;white-space:nowrap;line-height:1.4;}
.pcard-eco .pcard-name{font-size:18px;margin-bottom:10px;}
.pcard-eco .pcard-price.sp{margin-bottom:4px;flex:1;}
.pcard-eco .pcard-more{align-self:flex-end;}
.pcard .pcard-more{align-self:flex-end;}
.sp-row{display:block;}
.sp-row .sp-l{display:inline-block;margin-bottom:2px;}
.sp-v{display:block;white-space:nowrap;}
.sp-n{font-size:28px;}
.sp-row.net .sp-n{font-size:clamp(30px,2.6vw,36px);}
.sp-row.net{margin-top:4px;}
@media (max-width:560px){ .medals b{font-size:12px;} .medals small{font-size:9.5px;} .medals li{padding:6px;} }

/* ===== 改行の整え（全体） ===== */
h1,h2,h3,h4,.pcard-name,.mcard h3,.reason h3,.newsbar-item b,.catbtn b,.step h3,.news-title{text-wrap:balance;}
p,li,dd,td,.pcard-txt,.mcard p,.reason p,.small-note,.s-lead,.sp-note{text-wrap:pretty;}
.deco-l1,.deco-l2{white-space:nowrap;text-wrap:nowrap;}

/* トップ：補助金の帯（スマホは縦積み） */
.hojo{display:grid;grid-template-columns:1fr auto;gap:clamp(26px,4vw,60px);align-items:center;border:1px solid var(--ink);padding:clamp(30px,4vw,50px);}
.hojo > div{min-width:0;}
@media (max-width:760px){ .hojo{grid-template-columns:1fr;} }

/* フッター：グループ事業（安心堂） */
.sitelinks-group{margin-top:12px;font-size:13px;line-height:1.8;color:var(--ink);font-weight:700;}
.sitelinks-group a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;font-weight:900;}
.group-note{font-size:13px;line-height:1.9;}

/* 構造化データに含めないFAQの目印（見た目は同じ） */
.no-ld{}

/* エコキュート案内（安心堂への橋渡し） */
.eco-bridge{background:#fff;border:2px solid var(--blue);border-radius:var(--r-l);box-shadow:var(--shadow);padding:clamp(26px,3.6vw,44px);text-align:center;}
.eco-bridge-in{max-width:720px;margin:0 auto;}
.eco-bridge-tag{display:inline-block;font-size:12px;font-weight:900;color:#fff;background:var(--blue);padding:5px 14px;border-radius:var(--pill);letter-spacing:.06em;}
.eco-bridge-name{font-family:var(--display);font-weight:400;font-size:clamp(26px,3.4vw,40px);color:var(--ink);margin:14px 0 4px;}
.eco-bridge-sub{font-size:14px;font-weight:700;color:var(--gray);}
.eco-bridge-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin:22px 0 14px;}
.eco-bridge-btns .btn svg{margin-left:8px;vertical-align:-3px;}
.btn-inline{display:inline-block;margin-left:8px;font-weight:900;color:var(--blue);text-decoration:underline;text-underline-offset:3px;}

/* トップ：対応エリア（文字を大きく） */
.area-main{font-family:var(--display);font-weight:400;font-size:clamp(28px,4vw,42px);line-height:1.4;color:var(--blue);letter-spacing:.04em;}
.area-sub{margin-top:10px;font-size:clamp(16px,1.7vw,18px);line-height:1.9;font-weight:700;color:var(--ink);}
.area-note{margin-top:10px;font-size:14.5px;line-height:1.8;font-weight:600;color:var(--gray);}

/* お見積りの進め方：列見出しの補足 */
.cmp-h small{display:block;font-size:12px;font-weight:700;line-height:1.5;margin-top:4px;opacity:.85;}

/* ===== 追従CTA ===== */
.fixcta{display:none;}

/* ===== 写真枠 ===== */
.mfig,.case figure,.wcase-main,.wcase-thumbs div,.greet-fig,.map-ph,.phfig{position:relative;overflow:hidden;}
.mfig > img,.case figure > img,.wcase-main > img,.wcase-thumbs div > img,
.greet-fig > img,.map-ph > img,.phfig > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.has-img{font-size:0;}
.has-img > svg,.has-img > figcaption{display:none;}
.phfig{aspect-ratio:16/9;background:var(--blue-l);border-radius:var(--r-l);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--gray);}

/* ===== 施工範囲ボタン ===== */
.catbtns{
  display:grid;grid-template-columns:repeat(7,1fr);gap:clamp(8px,1.2vw,14px);
  width:min(1160px,100%);margin:0 auto;padding-inline:var(--gut);
  margin-top:clamp(28px,4vw,48px);position:relative;z-index:5;
}
.catbtn{
  background:#fff;border-radius:var(--r);padding:20px 8px 18px;
  border:1.5px solid var(--line);
  display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;
  box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s,border-color .2s;
}
.catbtn:hover{transform:translateY(-4px);box-shadow:var(--shadow-l);border-color:var(--sky);}
.catbtn svg{width:42px;height:42px;stroke:var(--blue);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.catbtn b{font-size:13.5px;font-weight:900;line-height:1.4;}
.catbtn small{font-size:11px;font-weight:800;color:var(--blue);font-variant-numeric:tabular-nums;}

/* ===== 料金の帯 ===== */
.prows{display:flex;flex-direction:column;gap:clamp(12px,1.6vw,18px);}
.prow{
  display:grid;grid-template-columns:64px 1fr auto 34px;gap:clamp(14px,2vw,28px);align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(20px,2.6vw,30px) clamp(20px,2.6vw,32px);
  box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;
}
.prow:hover{transform:translateY(-3px);box-shadow:var(--shadow-l);}
.prow-ic{background:var(--blue-l);border-radius:50%;width:64px;height:64px;display:flex;align-items:center;justify-content:center;}
.prow-ic svg{width:38px;height:38px;stroke:var(--blue);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.prow-txt h3{font-size:clamp(18px,2.2vw,22px);font-weight:900;}
.prow-txt p{font-size:13.5px;line-height:1.85;color:var(--gray);margin-top:7px;max-width:46ch;font-weight:600;}
.prow-price{display:flex;align-items:baseline;gap:8px;white-space:nowrap;}
.prow-price .num{font-family:var(--display);font-size:clamp(32px,4.4vw,48px);font-weight:400;line-height:1;color:var(--blue);font-variant-numeric:tabular-nums;}
.prow-price .tax{align-self:flex-start;background:var(--sky);color:#fff;font-size:11px;font-weight:900;padding:4px 10px;border-radius:var(--pill);margin-top:2px;}
.prow-price .unit{font-size:17px;font-weight:900;}
.prow-arrow{
  width:34px;height:34px;border-radius:50%;background:var(--yellow);color:var(--ink);
  display:flex;align-items:center;justify-content:center;font-weight:900;transition:transform .25s;
}
.prow:hover .prow-arrow{transform:translateX(4px);}
.prow-note{margin-top:22px;font-size:13px;color:var(--gray);line-height:1.9;}

/* ===== お約束 ===== */
.promise{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:clamp(16px,2.2vw,26px);}
.promise > div{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(28px,3.2vw,36px);box-shadow:var(--shadow);}
.promise .n{
  font-size:11.5px;font-weight:900;letter-spacing:.1em;color:#fff;background:var(--blue);
  padding:6px 16px;border-radius:var(--pill);display:inline-block;margin-bottom:18px;
}
.promise h3{font-size:19px;font-weight:900;line-height:1.6;margin-bottom:14px;}
.promise p{font-size:14px;line-height:1.95;color:#3D5563;}

/* ===== 施工事例カード ===== */
.wfilter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(28px,3.6vw,42px);}
.wfilter a{
  padding:11px 24px;font-size:14px;font-weight:800;border-radius:var(--pill);
  background:#fff;color:var(--gray);box-shadow:var(--shadow);transition:background .2s,color .2s;
}
.wfilter a:hover{background:var(--blue-l);color:var(--blue);}
.wfilter a[aria-current="page"]{background:var(--blue);color:#fff;}
.wgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,28px);}
.wcase{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;}
.wcase:hover{transform:translateY(-4px);box-shadow:var(--shadow-l);}
.wcase-head{display:flex;gap:14px;padding:22px 22px 14px;align-items:flex-start;}
.wcase-no{
  flex:0 0 auto;width:52px;height:52px;border-radius:50%;background:var(--blue);color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;
}
.wcase-no small{font-size:8px;font-weight:800;letter-spacing:.1em;opacity:.8;}
.wcase-no b{font-size:19px;font-weight:900;margin-top:3px;font-variant-numeric:tabular-nums;}
.wcase-meta{font-size:13px;font-weight:800;line-height:1.7;padding-top:4px;}
.wcase-meta span{display:block;color:var(--gray);font-size:12.5px;font-weight:700;}
.wcase-photos{position:relative;padding:0 22px 22px;}
.wcase-main{margin-left:17%;aspect-ratio:16/10;background:var(--blue-l);border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;color:var(--gray);text-align:center;}
.wcase-thumbs{position:absolute;left:22px;bottom:0;width:60%;display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.wcase-thumbs div{aspect-ratio:4/3;background:var(--sky-l);border:4px solid #fff;border-radius:var(--r-s);display:flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:700;color:var(--gray);}
.wcase-body{padding:18px 22px 20px;flex:1;display:flex;flex-direction:column;}
.wcase-body h3{font-size:16.5px;font-weight:800;line-height:1.65;}
.wcase-spec{margin-top:auto;padding-top:16px;display:flex;gap:12px;align-items:flex-start;}
.wcase-spec .tag{flex:0 0 auto;background:var(--sky);color:#fff;font-size:10.5px;font-weight:900;padding:5px 12px;border-radius:var(--pill);margin-top:3px;}
.wcase-spec dl{font-size:12.5px;line-height:1.85;color:var(--gray);font-weight:600;}
.wcase-spec dt{font-weight:900;color:var(--ink);}
.wcase-spec dd + dt{margin-top:6px;}
.wcase-more{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 24px;background:var(--blue);color:#fff;font-size:14px;font-weight:900;transition:background .25s;
}
.wcase:hover .wcase-more{background:var(--sky);}
.pager{display:flex;justify-content:center;gap:10px;margin-top:clamp(36px,4.6vw,54px);}
.pager a,.pager span{
  min-width:46px;height:46px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;background:#fff;font-size:15px;font-weight:800;box-shadow:var(--shadow);
  font-variant-numeric:tabular-nums;transition:background .2s,color .2s;
}
.pager a:hover{background:var(--blue-l);color:var(--blue);}
.pager .now{background:var(--blue);color:#fff;}

/* ===== 会社概要 ===== */
.ctable{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r-l);overflow:hidden;box-shadow:var(--shadow);}
.ctable th{width:210px;text-align:left;font-size:13px;font-weight:800;color:var(--blue);padding:22px 20px 22px clamp(20px,3vw,32px);border-bottom:2px dotted var(--line);vertical-align:top;background:var(--blue-l);}
.ctable td{padding:22px clamp(20px,3vw,32px);border-bottom:2px dotted var(--line);font-size:15px;line-height:1.9;font-weight:600;}
.ctable tr:last-child th,.ctable tr:last-child td{border-bottom:none;}
.ctable td small{display:block;font-size:12.5px;color:var(--gray);margin-top:6px;}
.greet{display:grid;grid-template-columns:1fr .7fr;gap:clamp(28px,4.6vw,56px);align-items:start;}
.greet p{font-size:15.5px;line-height:2.1;font-weight:600;}
.greet p + p{margin-top:1.2em;}
.greet-sign{margin-top:30px;padding:20px 26px;background:var(--blue-l);border-radius:var(--r);font-size:13px;font-weight:700;color:var(--gray);}
.greet-sign b{display:block;font-size:21px;font-weight:900;color:var(--ink);margin-top:6px;}
.greet-fig{aspect-ratio:4/5;background:var(--blue-l);border-radius:var(--r-l);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--gray);}
.map-ph{aspect-ratio:16/7;background:var(--blue-l);border-radius:var(--r-l);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--gray);}

/* ===== reveal ===== */
.rv{transition:opacity .7s cubic-bezier(.22,.7,.3,1),transform .7s cubic-bezier(.22,.7,.3,1);}
html.js-anim .rv:not(.in){opacity:0;transform:translateY(20px);}

/* ===== レスポンシブ ===== */
@media (max-width:1360px){ .hd-tel{display:none;} }
@media (max-width:1160px){ .gnav > a,.gnav-btn{font-size:13px;} }
@media (max-width:1180px){ .wgrid{grid-template-columns:repeat(2,1fr);} .g4{grid-template-columns:repeat(2,1fr);} }
@media (max-width:1040px){ .catbtns{grid-template-columns:repeat(4,1fr);} .catbtn:last-child{grid-column:span 2;} }
@media (max-width:1000px){
  .g2,.g3,.inc,.cmp,.est-txt,.lineup,.greet,.promise{grid-template-columns:1fr;}
  .hero-grid{grid-template-columns:1fr;}
  .hero-photo{max-width:560px;}
  .greet-fig{max-width:340px;}
  .steps{grid-template-columns:repeat(2,1fr);}
  .check{grid-template-columns:1fr;}
  .ctable th{width:150px;font-size:12.5px;padding-right:14px;}
}
@media (max-width:900px){ .gnav{display:none;} }
@media (max-width:760px){
  body{font-size:15px;padding-bottom:64px;}
  .ctab{min-height:128px;min-width:0;padding:12px 18px 14px;}
  .ctab-tel{min-width:0;}
  .ctab-row .ctab,.ctab-row .ctab-tel{flex:1 1 100%;}
  .hd-in{min-height:72px;}
  .hd-r .btn{display:none;}
  .brand-mark{height:54px;width:auto;}
  .brand-n{font-size:21px;}
  .hero-in{padding-top:104px;}
  .medals{gap:10px;}
  .medals li{width:calc(33.33% - 7px);}
  .hero-strip{padding:16px 0 46px;}
  .catbtns{grid-template-columns:repeat(2,1fr);margin-top:24px;}
  .catbtn:last-child{grid-column:span 2;}
  .steps{grid-template-columns:1fr;}
  .wgrid{grid-template-columns:1fr;}
  .g4{grid-template-columns:1fr;}
  .prow{grid-template-columns:52px 1fr;grid-template-areas:"ic txt" "price price";row-gap:16px;}
  .prow-ic{grid-area:ic;width:52px;height:52px;}
  .prow-ic svg{width:30px;height:30px;}
  .prow-txt{grid-area:txt;}
  .prow-price{grid-area:price;}
  .prow-arrow{display:none;}
  .faq summary{font-size:15px;padding:20px 46px 20px 56px;}
  .faq .a{padding-left:56px;padding-right:24px;}
  .ctable,.ctable tbody,.ctable tr{display:block;}
  .ctable th,.ctable td{display:block;width:auto;border:none;}
  .ctable th{padding:16px clamp(20px,4vw,26px) 6px;background:transparent;}
  .ctable td{padding:0 clamp(20px,4vw,26px) 18px;border-bottom:2px dotted var(--line);}
  .fixcta{
    display:grid;grid-template-columns:1fr 1fr 1.2fr;
    position:fixed;inset:auto 0 0 0;z-index:90;box-shadow:0 -3px 14px rgba(23,99,196,.16);
  }
  .fixcta a{padding:17px 4px;text-align:center;font-size:13px;font-weight:900;background:#fff;color:var(--blue);}
  .fixcta a.l{background:var(--green);color:#fff;}
  .fixcta a:last-child{background:var(--yellow);color:var(--ink);}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  html.js-anim .rv:not(.in){opacity:1;transform:none;}
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;}
}

/* ===== スマホ改善（sp-menu / fixcta v2）ここから ===== */
/* --- 三本線ボタン --- */
.hd-burger{display:none;}
.spnav,.spnav-ov{display:none;}
html.sp-lock,html.sp-lock body{overflow:hidden;}
@media (max-width:900px){
  .hd-burger{
    display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
    width:54px;height:54px;border:0;border-radius:14px;background:var(--blue);color:#fff;cursor:pointer;
    box-shadow:0 3px 0 var(--blue-d);flex:0 0 auto;-webkit-tap-highlight-color:transparent;
  }
  .hd-burger-ic{display:flex;flex-direction:column;gap:5px;}
  .hd-burger-ic i{display:block;width:24px;height:2.5px;border-radius:2px;background:#fff;}
  .hd-burger-tx{font-family:var(--display);font-size:9.5px;letter-spacing:.08em;line-height:1;}
  .hd-r{gap:0;}
  /* --- メニュー本体 --- */
  .spnav-ov{display:block;position:fixed;inset:0;z-index:200;background:rgba(10,30,50,.55);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;}
  .spnav{
    display:flex;flex-direction:column;position:fixed;top:0;right:0;bottom:0;z-index:210;width:min(88vw,400px);
    background:#fff;box-shadow:-10px 0 40px rgba(0,0,0,.2);transform:translateX(104%);visibility:hidden;
    transition:transform .3s cubic-bezier(.2,.8,.2,1),visibility .3s;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  }
  .spnav.is-open{transform:none;visibility:visible;}
  .spnav-ov.is-open{opacity:1;visibility:visible;}
  .spnav-top{display:flex;justify-content:flex-end;padding:10px 12px 4px;}
  .spnav-close{width:48px;height:48px;border:0;background:none;cursor:pointer;position:relative;}
  .spnav-close::before,.spnav-close::after{content:"";position:absolute;left:12px;right:12px;top:50%;height:2px;background:var(--ink);border-radius:2px;}
  .spnav-close::before{transform:rotate(45deg);} .spnav-close::after{transform:rotate(-45deg);}
  .spnav-in{padding:0 20px 28px;}
  .spnav-ttl{background:var(--blue);color:#fff;font-family:var(--display);font-weight:400;font-size:20px;letter-spacing:.08em;padding:14px 18px;border-radius:10px;}
  .spnav-list{margin-top:6px;}
  .spnav-row{
    display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:14px 8px;border:0;border-bottom:1px solid var(--line);
    background:none;font:inherit;font-size:16px;font-weight:800;color:var(--ink);text-align:left;cursor:pointer;line-height:1.5;
  }
  .spnav-row::before{content:"";flex:0 0 auto;width:8px;height:8px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg);transition:transform .2s;margin:0 4px 0 2px;}
  .spnav-row[aria-current="page"]{color:var(--blue);}
  .spnav-par[aria-expanded="true"]{background:var(--blue-l);}
  .spnav-par[aria-expanded="true"]::before{transform:rotate(45deg);}
  .spnav-par::after{content:"";margin-left:auto;flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--blue-l) center/10px 10px no-repeat;
    background-image:linear-gradient(var(--blue),var(--blue)),linear-gradient(var(--blue),var(--blue));background-size:10px 2px,2px 10px;}
  .spnav-par[aria-expanded="true"]::after{background-size:10px 2px,0 0;background-color:#fff;}
  .spnav-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s;}
  .spnav-sub.is-open{grid-template-rows:1fr;}
  .spnav-sub > div{overflow:hidden;}
  .spnav-child{padding-left:30px;font-size:15px;font-weight:700;}
  .spnav-cta{margin-top:22px;display:grid;gap:10px;}
  .spnav-cta a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;border-radius:14px;font-weight:900;font-size:16px;}
  .spnav-cta .c-mail{background:var(--yellow);color:var(--ink);box-shadow:0 3px 0 #E0B800;}
  .spnav-cta .c-tel{background:var(--blue);color:#fff;box-shadow:0 3px 0 var(--blue-d);font-family:var(--display);font-weight:400;font-size:20px;letter-spacing:.04em;}
  .spnav-cta .c-line{background:#BFE8CD;color:#2E7D4F;font-size:14px;}
  .spnav-hours{margin-top:8px;text-align:center;font-size:12px;font-weight:700;color:var(--gray);}
}
/* --- 画面下の固定バー（角丸ボタン3つ） --- */
@media (max-width:760px){
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom));}
  .fixcta{
    display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;position:fixed;inset:auto 0 0 0;z-index:90;
    padding:9px 10px calc(9px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);
    box-shadow:0 -4px 18px rgba(23,99,196,.14);backdrop-filter:blur(6px);
  }
  .fixcta a{
    display:flex;align-items:center;justify-content:center;gap:5px;min-height:56px;padding:8px 4px;border-radius:14px;
    font-size:13px;font-weight:900;line-height:1.2;text-align:center;white-space:nowrap;background:var(--blue);color:#fff;box-shadow:0 3px 0 var(--blue-d);
  }
  .fixcta a::before{content:"";flex:0 0 auto;width:18px;height:18px;background:currentColor;
    -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;}
  .fixcta a:first-child{order:3;--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.46.57 3.6a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E");}
  .fixcta a:last-child{order:1;background:var(--yellow);color:var(--ink);box-shadow:0 3px 0 #E0B800;
    --ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2zm0 2.2V8l8 5 8-5v-.8l-8 5z'/%3E%3C/svg%3E");}
  .fixcta a.l{order:2;background:var(--green);color:#fff;box-shadow:0 3px 0 #2FA35F;}
  .fixcta .fx-l{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;}
  .fixcta .fx-l small{font-size:10px;font-weight:800;opacity:.95;}
  .fixcta a.l::before{display:none;}
  .fixcta a.l img{width:22px;height:22px;margin-right:0;}
  .fixcta a.l.is-pending{opacity:1;background:#A9DDBD;color:#fff;box-shadow:0 3px 0 #8CC9A4;cursor:default;}
  /* --- スマホでの細かい調整 --- */
  br.pc{display:inline;}
  .medals b{font-size:11px;}
  .medals small{font-size:9px;letter-spacing:0;margin-bottom:3px;}
  .medals li{padding:4px;}
  /* 長い文言のボタンが画面の外にはみ出さないように */
  .btn{white-space:normal;max-width:100%;text-align:center;line-height:1.5;}
  /* 料金表：長い説明のセルは折り返す（金額は1行のまま） */
  .ptable td{white-space:normal;}
  .ptable td .nw,.ptable td b{white-space:nowrap;}
  /* 押しやすさ：文字だけのリンクの当たり判定を広げる */
  .crumbs a{display:inline-block;padding:6px 0;}
  .ft nav{gap:0;}
  .ft nav a{padding-block:9px;font-size:14.5px;}
  /* --- ページ先頭へ --- */
  .totop{
    position:fixed;right:12px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:80;width:52px;height:52px;border-radius:50%;
    background:#fff;border:2px solid var(--blue);color:var(--blue);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
    font-family:var(--display);font-size:9.5px;letter-spacing:.06em;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s;
  }
  .totop::before{content:"";width:9px;height:9px;border-left:2.5px solid var(--blue);border-top:2.5px solid var(--blue);transform:rotate(45deg);margin-top:4px;}
  .totop.is-on{opacity:1;visibility:visible;transform:none;}
}
@media (min-width:761px){ .totop{display:none;} }
@media (max-width:350px){ .fixcta{gap:6px;padding-inline:6px;} .fixcta a{font-size:12px;} .fixcta a::before{display:none;} }
/* --- 電話・LINE の確認ポップアップ（誤タップ防止）：全画面幅で有効 --- */
html.cfm-lock,html.cfm-lock body{overflow:hidden;}
.cfm{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(10,30,50,.6);opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;}
.cfm.is-open{opacity:1;visibility:visible;}
.cfm-box{position:relative;width:min(100%,400px);max-height:calc(100dvh - 40px);overflow-y:auto;background:#fff;border-radius:20px;padding:30px 22px 22px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.3);transform:translateY(10px) scale(.96);transition:transform .25s cubic-bezier(.2,.9,.3,1.2);}
.cfm.is-open .cfm-box{transform:none;}
.cfm-x{position:absolute;top:6px;right:6px;width:44px;height:44px;border:0;background:none;cursor:pointer;border-radius:50%;}
.cfm-x:hover{background:#F1F4F7;}
.cfm-x::before,.cfm-x::after{content:"";position:absolute;left:13px;right:13px;top:50%;height:2px;background:#8A99A5;border-radius:2px;}
.cfm-x::before{transform:rotate(45deg);} .cfm-x::after{transform:rotate(-45deg);}
.cfm-ttl{font-size:15px;font-weight:900;color:var(--ink);line-height:1.6;padding-inline:26px;}
.cfm-num{margin-top:4px;font-family:var(--display);font-weight:400;font-size:clamp(28px,8.4vw,34px);letter-spacing:.03em;color:var(--blue);line-height:1.3;white-space:nowrap;}
.cfm-hours{margin-top:4px;font-size:13px;font-weight:700;color:var(--gray);line-height:1.7;}
.cfm-list{margin-top:14px;text-align:left;display:grid;gap:10px;list-style:none;padding:0;}
.cfm-list li{position:relative;padding-left:28px;font-size:14.5px;font-weight:600;line-height:1.7;color:var(--ink);}
.cfm-list li::before{content:"";position:absolute;left:4px;top:.45em;width:12px;height:7px;border-left:2.5px solid #06C755;border-bottom:2.5px solid #06C755;transform:rotate(-45deg);}
.cfm-list b{font-weight:900;}
.cfm-note{margin-top:14px;font-size:12.5px;font-weight:600;color:var(--gray);line-height:1.8;}
.cfm-go,.cfm-no{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;border-radius:14px;font:inherit;font-size:16px;font-weight:900;cursor:pointer;line-height:1.4;transition:filter .15s,background .15s;}
.cfm-go{margin-top:18px;border:0;background:var(--blue);color:#fff;box-shadow:0 3px 0 var(--blue-d);}
.cfm-go.is-line{background:#06C755;box-shadow:0 3px 0 #04A046;}
.cfm-go:hover{filter:brightness(1.07);}
.cfm-no{margin-top:12px;border:1.5px solid var(--line);background:#fff;color:var(--ink);}
.cfm-no:hover{background:#F1F4F7;}
.cfm-go:focus-visible,.cfm-no:focus-visible,.cfm-x:focus-visible{outline:3px solid var(--yellow);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){ .cfm,.cfm-box{transition:none;} }
/* ===== スマホ改善 ここまで ===== */

/* ===== ここから下はテーマ専用（静的サイトには無い部分）。合流のときはこの行より下を残す ===== */

/* ===== ログイン中の管理バー（画面上の黒い帯）より、スマホメニューと確認ポップアップを前に出す =====
   管理バーは z-index:99999 で一番上に出るため、そのままだとメニュー右上の×ボタンが隠れる。
   お客様（ログインしていない人）には管理バーが無いので影響なし。 */
.admin-bar .spnav-ov{z-index:100000;}
.admin-bar .spnav{z-index:100001;}
.admin-bar .cfm{z-index:100002;}

/* ============================================================
   ふきだし（WordPressの「＋」→「パターン」→「ミズプロ ふきだし」から挿入）
   .fkd            … 全体
   .fkd-l / .fkd-r … 顔が左 / 顔が右
   .fkd-chara      … キャラクター（水色の丸・水色のふきだし）
   ============================================================ */
.fkd{display:flex;align-items:flex-start;gap:clamp(12px,2.2vw,20px);margin:1.8em 0;}
.fkd.fkd-r{flex-direction:row-reverse;}
.fkd > *{margin-block:0;}
.fkd-face{flex:0 0 auto;width:clamp(60px,9vw,84px);text-align:center;margin:0;}
.fkd-face > *{margin-block:0;}
.fkd .fkd-icon{margin:0 !important;}
.fkd .fkd-icon img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:50%;background:#fff;border:3px solid #fff;box-shadow:0 4px 12px rgba(23,99,196,.16);}
.fkd-chara .fkd-icon img{background:var(--blue-l);object-fit:contain;}
.fkd .fkd-name{margin:.5em 0 0 !important;font-size:11px;line-height:1.35;font-weight:700;color:var(--gray);overflow-wrap:anywhere;}
.fkd .fkd-bubble{position:relative;flex:1 1 auto;min-width:0;max-width:640px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(14px,2vw,18px) clamp(16px,2.4vw,22px);box-shadow:var(--shadow);font-size:14.5px;line-height:1.9;color:var(--ink);overflow-wrap:anywhere;margin-top:6px;}
.fkd-r .fkd-bubble{margin-left:auto;}
.fkd-bubble > *{margin-block:0;}
.fkd-bubble p{margin:0;}
.fkd-bubble p + p{margin-top:.8em;}
/* しっぽ（外側＝線の色、内側＝ふきだしの色） */
.fkd-bubble::before,.fkd-bubble::after{content:"";position:absolute;border-style:solid;border-color:transparent;}
.fkd-bubble::before{top:21px;}
.fkd-bubble::after{top:22px;}
.fkd-l .fkd-bubble::before{right:100%;border-width:9px 12px 9px 0;border-right-color:var(--line);}
.fkd-l .fkd-bubble::after{right:calc(100% - 1.5px);border-width:8px 11px 8px 0;border-right-color:#fff;}
.fkd-r .fkd-bubble::before{left:100%;border-width:9px 0 9px 12px;border-left-color:var(--line);}
.fkd-r .fkd-bubble::after{left:calc(100% - 1.5px);border-width:8px 0 8px 11px;border-left-color:#fff;}
/* キャラクターは水色のふきだし */
.fkd-chara .fkd-bubble{background:var(--blue-l);border-color:var(--sky-l);}
.fkd-chara.fkd-l .fkd-bubble::before{border-right-color:var(--sky-l);}
.fkd-chara.fkd-l .fkd-bubble::after{border-right-color:var(--blue-l);}
.fkd-chara.fkd-r .fkd-bubble::before{border-left-color:var(--sky-l);}
.fkd-chara.fkd-r .fkd-bubble::after{border-left-color:var(--blue-l);}
@media (max-width:600px){
  .fkd .fkd-bubble{font-size:14px;}
  .fkd-bubble::before{top:15px;}
  .fkd-bubble::after{top:16px;}
}


/* ===== お客様の声 ===== */
.vfilter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(24px,3vw,36px);}
.vfilter-btn{font:inherit;font-size:13.5px;font-weight:900;color:var(--ink);background:#fff;border:2px solid var(--line);border-radius:var(--pill);padding:9px 16px;cursor:pointer;transition:.2s;display:inline-flex;align-items:center;gap:8px;}
.vfilter-btn b{font-family:var(--display);font-weight:400;font-size:12px;color:var(--gray);background:var(--blue-l);border-radius:var(--pill);padding:2px 8px;}
.vfilter-btn:hover{border-color:var(--blue);color:var(--blue);}
.vfilter-btn[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff;}
.vfilter-btn[aria-pressed="true"] b{background:rgba(255,255,255,.22);color:#fff;}
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,26px);}
.vcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;}
.vcard[hidden]{display:none;}
.vcard-ph{position:relative;display:block;aspect-ratio:4/3;background:#EEF3F7;overflow:hidden;}
.vcard-ph img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform .35s;}
.vcard-ph:hover img{transform:scale(1.03);}
.vcard-ph::after{content:"";position:absolute;inset:auto 0 0 0;height:46%;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.55));pointer-events:none;}
.vcard-zoom{position:absolute;right:12px;bottom:12px;z-index:2;font-size:12px;font-weight:900;color:#fff;background:var(--blue);border-radius:var(--pill);padding:6px 12px 6px 30px;box-shadow:var(--shadow);}
.vcard-zoom::before{content:"";position:absolute;left:11px;top:50%;width:11px;height:11px;border:2px solid #fff;border-radius:50%;transform:translateY(-58%);}
.vcard-zoom::after{content:"";position:absolute;left:21px;top:50%;width:6px;height:2px;background:#fff;transform:rotate(45deg) translateY(2px);}
.vcard-noimg{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--gray);}
.vcard-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1;}
.vcard-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.vcard-cat{font-size:11.5px;font-weight:900;color:#fff;background:var(--blue);border-radius:var(--pill);padding:4px 10px;white-space:nowrap;}
.vcard-meta time{font-family:var(--display);font-weight:400;font-size:12px;color:var(--gray);letter-spacing:.04em;}
.vcard-quote{position:relative;font-size:15px;line-height:1.9;font-weight:700;padding-left:22px;flex:1;}
.vcard-quote::before{content:"“";position:absolute;left:0;top:-6px;font-family:var(--display);font-size:34px;line-height:1;color:var(--sky);}
.vcard-who{margin-top:12px;font-size:12.5px;font-weight:800;color:var(--gray);}
.vcard-link{margin-top:10px;font-size:13px;font-weight:900;color:var(--blue);align-self:flex-end;}
.vempty{text-align:center;font-weight:800;color:var(--gray);padding:34px 0;}
.vabout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.4vw,28px);}
@media (max-width:1000px){ .vgrid{grid-template-columns:repeat(2,1fr);} .vabout{grid-template-columns:1fr;} }
@media (max-width:560px){ .vgrid{grid-template-columns:1fr;} .vfilter-btn{font-size:12.5px;padding:8px 12px;} }


/* ===== 施工事例（wk） ===== */
.wk-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(24px,3vw,36px);}
.wk-fbtn{font:inherit;font-size:13.5px;font-weight:900;color:var(--ink);background:#fff;border:2px solid var(--line);border-radius:var(--pill);padding:9px 16px;cursor:pointer;transition:.2s;display:inline-flex;align-items:center;gap:8px;}
.wk-fbtn b{font-family:var(--display);font-weight:400;font-size:12px;color:var(--gray);background:var(--blue-l);border-radius:var(--pill);padding:2px 8px;}
.wk-fbtn:hover{border-color:var(--blue);color:var(--blue);}
.wk-fbtn[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff;}
.wk-fbtn[aria-pressed="true"] b{background:rgba(255,255,255,.22);color:#fff;}
.wk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,26px);align-items:stretch;}
.wk{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s;}
.wk:hover{transform:translateY(-3px);box-shadow:var(--shadow-l);}
.wk[hidden]{display:none;}
.wk-ba-link{display:block;color:inherit;}
.wk-ba{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;padding:12px 12px 0;background:#F4F7FA;}
.wk-ba.big{padding:0;background:none;gap:clamp(8px,1.4vw,18px);}
.wk-ph{position:relative;margin:0;border-radius:10px;overflow:hidden;aspect-ratio:4/3;background:#E7EEF4;}
.wk-ph img{width:100%;height:100%;object-fit:cover;display:block;}
.wk-ph figcaption{position:absolute;left:0;top:0;font-size:11px;font-weight:900;letter-spacing:.08em;color:#fff;padding:5px 10px;border-radius:10px 0 10px 0;background:#6B7A88;}
.wk-ph.is-after figcaption{background:var(--blue);}
.wk-ba.big .wk-ph figcaption{font-size:13px;padding:7px 14px;}
.wk-arrow{width:0;height:0;border-style:solid;border-width:9px 0 9px 12px;border-color:transparent transparent transparent var(--blue);}
.wk-ba.big .wk-arrow{border-width:14px 0 14px 20px;}
.wk-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1;}
.wk-title{font-size:17px;font-weight:900;line-height:1.5;margin-bottom:12px;}
.wk-title a{color:var(--ink);}
.wk-title a:hover{color:var(--blue);}
.wk-table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.6;box-shadow:none;border-radius:0;}
.wk-table th,.wk-table td{padding:7px 4px;border-bottom:1px dashed var(--line);text-align:left;vertical-align:top;}
.wk-table th{width:5.5em;font-weight:900;color:var(--gray);white-space:nowrap;}
.wk-table td{font-weight:700;}
.wk-table td a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;}
.wk-comment{margin-top:12px;font-size:13.5px;line-height:1.85;color:var(--ink);font-weight:600;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;flex:1;}
.wk-comment-full{font-size:15px;line-height:2;font-weight:600;}
.wk-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;flex:1;align-content:flex-start;}
.wk-tags li{font-size:11.5px;font-weight:900;color:var(--blue);background:var(--blue-l);border-radius:var(--pill);padding:4px 10px;white-space:nowrap;}
.phead .lead .wk-tags{margin-top:6px;}
.wk-more{margin-top:12px;font-size:13px;font-weight:900;color:var(--blue);align-self:flex-end;}
.wk-empty{text-align:center;font-weight:800;color:var(--gray);padding:34px 0;}
/* 個別ページ */
.wk-detail{display:grid;grid-template-columns:1fr;gap:clamp(22px,3vw,36px);}
.wk-detail-info{max-width:900px;}
.wk-detail-info .wk-table{font-size:14.5px;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow);overflow:hidden;}
.wk-detail-info .wk-table th,.wk-detail-info .wk-table td{padding:12px 14px;border-bottom:1px solid var(--line);}
.wk-detail-info .wk-table tr:last-child th,.wk-detail-info .wk-table tr:last-child td{border-bottom:0;}
.wk-detail-info .wk-table th{width:6.5em;background:var(--blue-l);color:var(--ink);}
.wk-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,20px);}
.wk-photo{display:block;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:#E7EEF4;box-shadow:var(--shadow);}
.wk-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s;}
.wk-photo:hover img{transform:scale(1.04);}
/* 拡大表示（共通） */
.lb{position:fixed;inset:0;z-index:1000;background:rgba(10,30,50,.82);display:none;align-items:center;justify-content:center;padding:24px;}
.lb.is-open{display:flex;}
.lb img{max-width:min(92vw,1000px);max-height:84vh;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.4);background:#fff;}
.lb-cap{position:absolute;left:0;right:0;bottom:16px;text-align:center;color:#fff;font-size:13px;font-weight:800;}
.lb-close{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--ink);font-size:26px;line-height:44px;cursor:pointer;font-weight:900;}
/* 縦写真（スマホで縦に撮った写真）への対応 */
/* 個別ページの施工前・施工後は、写真そのままの形で出す（縦写真は縦のまま） */
.wk-ba.big .wk-ph{aspect-ratio:auto;background:none;border-radius:var(--r);}
.wk-ba.big .wk-ph img{height:auto;object-fit:contain;}
/* 一覧・トップのカードは、そろえて並ぶように自動調整する */
.wk-ba.is-portrait .wk-ph{aspect-ratio:3/4;}
.wk-ba.is-mixed .wk-ph img{object-fit:contain;background:#fff;}
.wk-photo.is-portrait img{object-fit:contain;background:#fff;}
@media (max-width:1000px){ .wk-grid{grid-template-columns:repeat(2,1fr);} .wk-gallery{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .wk-grid{grid-template-columns:1fr;} .wk-fbtn{font-size:12.5px;padding:8px 12px;} .wk-ba{gap:4px;padding:10px 10px 0;} .wk-arrow{border-width:7px 0 7px 9px;} .wk-table th{width:5em;} }


/* ===== コラム一覧（cl） ===== */
.cl-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(24px,3vw,36px);}
.cl-fbtn{font:inherit;font-size:13.5px;font-weight:900;color:var(--ink);background:#fff;border:2px solid var(--line);border-radius:var(--pill);padding:9px 16px;cursor:pointer;transition:.2s;display:inline-flex;align-items:center;gap:8px;}
.cl-fbtn b{font-family:var(--display);font-weight:400;font-size:12px;color:var(--gray);background:var(--blue-l);border-radius:var(--pill);padding:2px 8px;}
.cl-fbtn:hover{border-color:var(--blue);color:var(--blue);}
.cl-fbtn[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff;}
.cl-fbtn[aria-pressed="true"] b{background:rgba(255,255,255,.22);color:#fff;}
.cl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,26px);align-items:stretch;}
.cl{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s;}
.cl:hover{transform:translateY(-3px);box-shadow:var(--shadow-l);}
.cl[hidden]{display:none;}
.cl-ph{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--blue-l);}
.cl-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s;}
.cl:hover .cl-ph img{transform:scale(1.03);}
.cl-body{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1;}
.cl-meta,.post-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.cl-cat{font-size:11.5px;font-weight:900;color:#fff;background:var(--blue);border-radius:var(--pill);padding:4px 11px;white-space:nowrap;}
.cl-meta time,.post-meta time{font-family:var(--display);font-weight:400;font-size:12.5px;color:var(--gray);letter-spacing:.04em;}
.cl-title{font-size:16.5px;font-weight:900;line-height:1.6;margin:10px 0 8px;}
.cl-title a{color:var(--ink);}
.cl-title a:hover{color:var(--blue);}
.cl-lead{font-size:13px;line-height:1.85;color:var(--gray);font-weight:600;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
/* ===== コラム記事（post） ===== */
.post-head{padding-bottom:clamp(34px,5vw,56px);}
.post-title{font-family:var(--display);font-weight:400;font-size:clamp(22px,3.4vw,34px);line-height:1.55;margin-top:14px;text-wrap:balance;}
.post-upd{font-size:12px;font-weight:800;color:var(--gray);}
.post-upd time{font-size:12px;}
.post .shell-n{width:min(820px,100%);}
.post-eye{margin:0 0 clamp(22px,3vw,32px);border-radius:var(--r-l);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:16/9;background:var(--blue-l);}
.post-eye img{width:100%;height:100%;object-fit:cover;display:block;}
.post-lead{font-size:16px;line-height:2;font-weight:700;color:var(--ink);padding:18px 20px;background:var(--blue-l);border-radius:var(--r);margin-bottom:clamp(24px,3vw,34px);}
.post-toc{border:2px solid var(--line);border-radius:var(--r);padding:20px 22px;margin-bottom:clamp(30px,4vw,44px);background:#fff;}
.post-toc-ttl{font-weight:900;font-size:15px;margin-bottom:10px;color:var(--blue);}
.post-toc ol{margin:0;padding-left:1.4em;display:flex;flex-direction:column;gap:6px;}
.post-toc ol ol{margin-top:6px;list-style:disc;}
.post-toc li{font-size:14.5px;line-height:1.7;font-weight:700;}
.post-toc ol ol li{font-weight:600;font-size:13.5px;color:var(--gray);}
.post-toc a{color:inherit;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px;}
.post-toc a:hover{color:var(--blue);}
.post-body{font-size:16px;line-height:2.05;color:var(--ink);font-weight:500;}
.post-body > * + *{margin-top:1.5em;}
.post-body h2{font-size:clamp(20px,2.6vw,25px);font-weight:900;line-height:1.55;margin-top:2.6em;padding:14px 18px;background:var(--blue-l);border-left:6px solid var(--blue);border-radius:0 var(--r-s) var(--r-s) 0;scroll-margin-top:100px;}
.post-body h3{font-size:clamp(17.5px,2.1vw,20px);font-weight:900;line-height:1.6;margin-top:2.1em;padding-bottom:8px;border-bottom:2px dashed var(--sky);scroll-margin-top:100px;}
.post-body h2 + *,.post-body h3 + *{margin-top:1.1em;}
.post-body a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;}
.post-body ul,.post-body ol{padding-left:0;display:flex;flex-direction:column;gap:10px;}
.post-body ul li{list-style:none;position:relative;padding-left:26px;line-height:1.9;}
.post-body ul li::before{content:"";position:absolute;left:4px;top:.75em;width:10px;height:10px;border-radius:50%;background:var(--sky);}
.post-body ol{counter-reset:pl;}
.post-body ol li{list-style:none;position:relative;padding-left:40px;line-height:1.9;counter-increment:pl;}
.post-body ol li::before{content:counter(pl);position:absolute;left:0;top:.2em;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font-family:var(--display);font-size:13px;display:flex;align-items:center;justify-content:center;}
.post-table{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r);background:#fff;}
.post-body table{width:100%;min-width:520px;border-collapse:collapse;font-size:14.5px;line-height:1.7;}
.post-body th,.post-body td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;}
.post-body thead th{background:var(--blue);color:#fff;font-weight:900;white-space:nowrap;}
.post-body tbody tr:nth-child(even){background:#F6FAFD;}
.post-body tbody tr:last-child td{border-bottom:0;}
.post-body figure{margin-left:0;margin-right:0;}
.post-body figure img{width:100%;height:auto;border-radius:var(--r);display:block;}
.post-body figcaption{margin-top:8px;font-size:13px;line-height:1.7;color:var(--gray);font-weight:600;text-align:center;}
.post-body blockquote{margin-left:0;margin-right:0;padding:14px 18px;border-left:4px solid var(--line);color:var(--gray);background:#FAFCFD;}
.post-note,.post-point{border-radius:var(--r);padding:18px 20px;line-height:1.9;}
.post-note{background:#FFF8E1;border:2px solid var(--yellow);}
.post-point{background:#fff;border:2px solid var(--blue);}
.post-note > b,.post-point > b{display:block;font-weight:900;margin-bottom:6px;}
.post-note > b::before{content:"！";display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--yellow);color:var(--ink);font-size:13px;margin-right:8px;}
.post-point > b{color:var(--blue);}
.post-note p,.post-point p{font-size:15px;}
.post-rel{margin-top:clamp(40px,5vw,60px);padding-top:clamp(26px,3vw,36px);border-top:2px solid var(--line);}
.post-rel-ttl{font-weight:900;font-size:16px;margin-bottom:14px;}
@media (max-width:1000px){ .cl-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){
  .cl-grid{grid-template-columns:1fr;} .cl-fbtn{font-size:12.5px;padding:8px 12px;}
  .post-body{font-size:16px;line-height:2;} .post-lead{font-size:15px;padding:16px;}
  .post-body h2{padding:12px 14px;margin-left:calc(var(--gut) * -0.3);margin-right:calc(var(--gut) * -0.3);}
  .post-toc{padding:16px;} .post-body table{font-size:13.5px;}
}

/* ===== コラム：タグ ===== */
.cl-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px 10px;margin:12px 0 0;padding:0;}
.cl-tags li{font-size:12px;font-weight:800;color:var(--blue);line-height:1.5;}
.cl-tags a{color:inherit;}
.cl-tags a:hover{text-decoration:underline;text-underline-offset:3px;}
.cl .cl-tags{margin-top:auto;padding-top:12px;}
.cl-lead{margin-bottom:0;}
.cl-tagrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-10px 0 clamp(24px,3vw,36px);padding:14px 16px;background:var(--blue-l);border-radius:var(--r);}
.cl-tagrow-ttl{font-size:12.5px;font-weight:900;color:var(--ink);margin-right:4px;}
.cl-tbtn{font:inherit;font-size:12.5px;font-weight:800;color:var(--blue);background:#fff;border:1px solid var(--line);border-radius:var(--pill);padding:6px 12px;cursor:pointer;transition:.2s;}
.cl-tbtn:hover{border-color:var(--blue);}
.cl-tbtn[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff;}
.cl-empty{text-align:center;font-weight:800;color:var(--gray);padding:34px 0;}
.post-head .cl-tags{margin-top:16px;}
.post-head .cl-tags li{font-size:13px;background:#fff;border-radius:var(--pill);padding:4px 12px;}
.post-tags{display:flex;align-items:flex-start;gap:14px;margin-top:clamp(34px,4vw,48px);padding:16px 18px;background:var(--blue-l);border-radius:var(--r);}
.post-tags > span{font-size:12.5px;font-weight:900;white-space:nowrap;padding-top:2px;}
.post-tags .cl-tags{margin:0;}
.post-tags .cl-tags li{font-size:13px;}

/* ===== コラム：WordPressの編集画面で作った記事への対応 ===== */
/* 表（表ブロック）は横にはみ出したらスクロール */
.post-body .wp-block-table{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r);background:#fff;margin-left:0;margin-right:0;}
.post-body .wp-block-table table{border:0;}
.post-body .wp-block-table thead{border-bottom:0;}
.post-body .wp-block-table th,.post-body .wp-block-table td{border:0;border-bottom:1px solid var(--line);}
.post-body .wp-block-table figcaption{margin:8px 0 10px;}
/* 「ミズプロ コラム部品」の注意書き・ポイントの枠（パターンから挿入） */
.post-note > *,.post-point > *{margin:0;}
.post-note > * + *,.post-point > * + *{margin-top:.4em;}
.post-note > .post-box-ttl,.post-point > .post-box-ttl{display:block;font-weight:900;margin-bottom:6px;}
.post-note > .post-box-ttl::before{content:"！";display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--yellow);color:var(--ink);font-size:13px;margin-right:8px;}
.post-point > .post-box-ttl{color:var(--blue);}
/* ふきだしは本文の間隔に合わせる */
.post-body .fkd{margin:1.8em 0;}


/* ===== ログイン中だけ出るWordPressのツールバー（上の黒い帯）とヘッダーを重ねない ===== */
/* お客様（ログインしていない人）には関係ない */
.admin-bar .hd{top:32px;}
@media screen and (max-width:782px){ .admin-bar .hd{top:46px;} }
@media screen and (max-width:600px){ #wpadminbar{position:fixed;} }

/* 矢印つきの項目（プルダウン）を、矢印なしの項目と同じ高さにそろえる */
/* ボタンを包む箱が文字サイズの分だけ高くなり、2.4px 下にずれていたため */
.gnav-drop{display:flex;align-items:center;}
