/* kitanoAir 新デザイン：新しい部品で組んだページ（トップなど）だけが読み込む部品。
   今のデザインの本文を使うページは読み込まない（同じ名前のクラスがぶつかるため）。共通の外枠は site.css */
/* ---------- ヒーロー ---------- */
.hero{padding:28px 0 56px;}
.hero-grid{display:grid;gap:32px;align-items:center;}
@media(min-width:960px){.hero{padding:56px 0 80px;}.hero-grid{grid-template-columns:1.15fr .85fr;gap:56px;}}
.hero-tag{display:inline-flex;align-items:center;line-height:1.5;gap:8px;padding:6px 14px;border-radius:999px;background:#fff;border:1px solid var(--rule);font-size:13px;font-weight:600;color:var(--ink-2);}
.hero-tag .icon{color:var(--sky);}
.hero h1{font-size:clamp(30px,6.4vw,58px);font-weight:900;line-height:1.28;letter-spacing:-.03em;margin:18px 0 18px;}
.hero h1 .cold{color:var(--link);}
.hero h1 .hot{color:var(--hot);}
.hero h1 .sub{display:block;font-size:.5em;font-weight:800;letter-spacing:-.01em;margin-top:10px;color:var(--ink-2);}
.hero-lead{color:var(--ink-2);font-size:16px;max-width:36em;}
.hero .btns{margin-top:28px;}
.hero-promise{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:18px;font-size:14px;color:var(--ink-2);font-weight:600;}
.hero-promise li{display:flex;align-items:center;gap:6px;}
.hero-promise .icon{color:var(--line);width:18px;height:18px;}
.hero-photo{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/5;max-height:640px;}
.hero-photo img{width:100%;height:100%;object-fit:cover;}
.hero-photo figcaption{position:absolute;left:12px;bottom:12px;padding:4px 10px;border-radius:8px;background:rgba(15,28,43,.7);color:#fff;font-size:12px;}
.hero-float{position:absolute;right:12px;top:12px;padding:12px 16px;border-radius:16px;background:#fff;box-shadow:var(--shadow);font-size:12.5px;font-weight:600;line-height:1.35;color:var(--ink-2);}
.hero-float b{display:block;font-family:var(--en);font-size:30px;font-weight:800;color:var(--ink);line-height:1;}
.hero-float b small{font-family:var(--sans);font-size:13px;margin-left:2px;}
@media(max-width:959px){.hero-photo{aspect-ratio:16/11;}}

/* 資格の帯 */
.quals{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;}
.qual{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px;background:#fff;border:1px solid var(--rule);font-size:13px;font-weight:600;}
@media(max-width:559px){.quals{gap:6px;}.qual{padding:4px 10px;font-size:12px;}}
.qual .icon{color:var(--sky);width:16px;height:16px;}

/* ---------- ご用件で選ぶ（3つの入口） ---------- */
.routes{display:grid;gap:14px;}
@media(min-width:768px){.routes{grid-template-columns:repeat(3,1fr);gap:18px;}}
.route{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px 22px 20px;border-radius:var(--r);background:#fff;border:1px solid var(--rule);
  color:var(--ink);text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;}
.route:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow);}
.route-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--sky-soft);color:var(--link);margin-bottom:6px;}
.route-ico .icon{width:22px;height:22px;}
.route h3{font-size:19px;font-weight:800;line-height:1.4;}
.route p{font-size:14px;color:var(--sub);line-height:1.7;}
.route-price{font-family:var(--en);font-weight:700;font-size:15px;color:var(--ink);margin-top:4px;}
.route-go{display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:10px;font-weight:700;font-size:14.5px;color:var(--link);}
.route-go .icon{width:18px;height:18px;transition:transform .15s;}
.route:hover .route-go .icon{transform:translateX(3px);}

/* ---------- 数字 ---------- */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:var(--r);overflow:hidden;margin-top:40px;}
@media(min-width:768px){.stats{grid-template-columns:repeat(4,1fr);}}
.stat{background:var(--paper);padding:20px 18px;text-align:center;}
.stat-num{font-family:var(--en);font-size:clamp(30px,5vw,40px);font-weight:800;line-height:1.1;}
.stat-num small{font-family:var(--sans);font-size:14px;font-weight:700;margin-left:2px;}
.stat-label{font-size:13px;color:var(--sub);margin-top:4px;}

/* ---------- 症状 ---------- */
.syms{display:grid;grid-template-columns:1fr;gap:10px;}
@media(min-width:560px){.syms{grid-template-columns:repeat(2,1fr);}}
@media(min-width:960px){.syms{grid-template-columns:repeat(3,1fr);gap:14px;}}
.sym{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:14px;background:#fff;border:1px solid var(--rule);font-weight:700;font-size:15.5px;line-height:1.5;}
.sym .ico{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--sky-soft);color:var(--link);}
.sym .ico .icon{width:20px;height:20px;}

/* 写真で相談の帯 */
.photo-cta{display:grid;gap:18px;align-items:center;margin-top:28px;padding:24px;border-radius:var(--r);background:var(--line-soft);border:1px solid #cbe9d6;}
@media(min-width:768px){.photo-cta{grid-template-columns:1fr auto;padding:28px 32px;}}
.photo-cta h3{font-size:19px;font-weight:800;line-height:1.5;}
.photo-cta p{font-size:14.5px;color:var(--ink-2);margin-top:4px;}

/* ---------- 料金 ---------- */
.prices{display:grid;gap:12px;}
@media(min-width:768px){.prices{grid-template-columns:repeat(2,1fr);gap:14px;}}
@media(min-width:1080px){.prices{grid-template-columns:repeat(3,1fr);}}
.price{display:flex;flex-direction:column;gap:6px;padding:20px 22px;border-radius:var(--r);background:#fff;border:1px solid var(--rule);}
.price-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;}
.price-name{font-weight:800;font-size:16.5px;}
.price-amt{font-family:var(--en);font-weight:800;font-size:26px;white-space:nowrap;line-height:1.2;}
.price-amt small{font-family:var(--sans);font-size:14px;font-weight:700;}
.price p{font-size:13.5px;color:var(--sub);line-height:1.7;}
.price--free{background:var(--ink);color:#fff;border-color:var(--ink);}
.price--free p{color:var(--night-sub);}
.price--free .price-amt{color:#8fd6f2;}

/* ---------- 代表 ---------- */
.owner{display:grid;gap:32px;align-items:start;}
@media(min-width:960px){.owner{grid-template-columns:.9fr 1.1fr;gap:64px;}}
.owner-photo{border-radius:var(--r-lg);overflow:hidden;position:relative;aspect-ratio:4/3;}
.owner-photo img{width:100%;height:100%;object-fit:cover;}
.owner-photo figcaption{position:absolute;left:12px;bottom:12px;padding:4px 10px;border-radius:8px;background:rgba(15,28,43,.7);color:#fff;font-size:12px;}
.owner-name{display:flex;align-items:center;gap:14px;margin:22px 0 4px;}
.owner-name img{width:56px;height:56px;border-radius:50%;background:#fff;}
.owner-name b{display:block;font-size:19px;}
.owner-name span{font-size:13px;color:var(--night-sub);}
.owner-copy p{color:#dbe3ea;margin-top:14px;}
.career{display:grid;gap:10px;margin-top:22px;}
.career li{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);font-size:15px;line-height:1.6;}
.career .icon{color:#8fd6f2;margin-top:3px;}
.maker-note{font-size:12.5px;color:var(--night-sub);margin-top:16px;}

/* 選ばれる理由 */
.reasons{display:grid;gap:12px;margin-top:56px;}
@media(min-width:768px){.reasons{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1080px){.reasons{grid-template-columns:repeat(3,1fr);gap:16px;}}
.reason{padding:22px;border-radius:var(--r);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);}
.reason .ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(143,214,242,.14);color:#8fd6f2;margin-bottom:12px;}
.reason h3{font-size:17px;font-weight:800;line-height:1.5;}
.reason p{font-size:14px;color:var(--night-sub);margin-top:6px;line-height:1.75;}

/* ---------- サービス ---------- */
.svcs{display:grid;gap:14px;}
@media(min-width:768px){.svcs{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1080px){.svcs{grid-template-columns:repeat(3,1fr);gap:18px;}}
.svc{display:flex;flex-direction:column;border-radius:var(--r);background:var(--paper);border:1px solid var(--rule);overflow:hidden;}
.svc-media{aspect-ratio:16/10;background:var(--paper-2);overflow:hidden;}
.svc-media img,.svc-media video{width:100%;height:100%;object-fit:cover;}
.svc-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:6px;flex:1;}
.svc-num{font-family:var(--en);font-weight:700;font-size:13px;color:var(--link);letter-spacing:.1em;}
.svc h3{font-size:18px;font-weight:800;line-height:1.45;}
.svc p{font-size:14.5px;color:var(--sub);line-height:1.75;}
.svc .more{margin-top:auto;padding-top:8px;font-weight:700;font-size:14.5px;}
.svc--noimg .svc-body{padding-top:24px;}
.svc--noimg .ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--sky-soft);color:var(--link);margin-bottom:4px;}

/* ---------- 流れ・相談の方法 ---------- */
.steps{display:grid;gap:12px;counter-reset:s;}
@media(min-width:960px){.steps{grid-template-columns:repeat(4,1fr);gap:16px;}}
.step{position:relative;padding:22px;border-radius:var(--r);background:#fff;border:1px solid var(--rule);}
.step-num{font-family:var(--en);font-weight:800;font-size:28px;color:var(--sky);line-height:1;}
.step h3{font-size:17px;font-weight:800;margin:10px 0 6px;}
.step p{font-size:14px;color:var(--sub);line-height:1.75;}
.ways{display:grid;gap:12px;margin-top:40px;}
@media(min-width:900px){.ways{grid-template-columns:repeat(3,1fr);gap:16px;}}
.way{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:var(--r);border:1.5px solid var(--rule);background:var(--paper);}
.way h3{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;}
.way h3 .icon{width:22px;height:22px;}
.way--tel h3 .icon{color:var(--ink);}
.way--line{border-color:#bfe3cc;background:var(--line-soft);}
.way--line h3 .icon{color:var(--line);}
.way--form h3 .icon{color:var(--link);}
.way ul{font-size:14px;color:var(--ink-2);line-height:1.7;display:grid;gap:4px;}
.way li{display:flex;gap:8px;}
.way li::before{content:"・";color:var(--sub);}
.way .btn{margin-top:auto;min-height:50px;}

/* ---------- 施工事例 ---------- */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,78%);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent;}
@media(min-width:768px){.rail{grid-auto-columns:minmax(280px,34%);}}
@media(min-width:1080px){.rail{grid-auto-columns:calc((100% - 56px)/5);overflow:visible;}}
.shot{scroll-snap-align:start;border-radius:var(--r);overflow:hidden;background:var(--ink-2);}
.shot img{width:100%;aspect-ratio:3/4;object-fit:cover;}
.shot figcaption{padding:14px 16px 16px;font-size:13px;color:var(--night-sub);line-height:1.6;}
.shot b{display:block;color:#fff;font-size:15px;margin-bottom:2px;}
.rail-hint{font-size:13px;color:var(--night-sub);margin-top:8px;}
@media(min-width:1080px){.rail-hint{display:none;}}

/* ---------- お客様の声 ---------- */
.voices{display:grid;gap:14px;}
@media(min-width:768px){.voices{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1080px){.voices{grid-template-columns:repeat(3,1fr);gap:18px;}}
.voice{display:flex;flex-direction:column;gap:12px;padding:22px;border-radius:var(--r);background:#fff;border:1px solid var(--rule);}
.stars{display:flex;gap:2px;color:#e0a100;}
.stars .icon{width:17px;height:17px;}
.voice blockquote{margin:0;font-size:15px;line-height:1.85;}
.voice figcaption{margin-top:auto;font-size:13px;color:var(--sub);}

/* ---------- FAQ ---------- */
.faq-grid{display:grid;gap:32px;}
@media(min-width:960px){.faq-grid{grid-template-columns:.8fr 1.2fr;gap:64px;}.faq-grid .sec-head{position:sticky;top:calc(var(--header-h) + 24px);align-self:start;}}
.faqs{display:grid;gap:10px;}
.faq{border-radius:14px;background:#fff;border:1px solid var(--rule);}
.faq summary{display:flex;gap:12px;align-items:flex-start;padding:18px 20px;cursor:pointer;list-style:none;font-weight:700;font-size:15.5px;line-height:1.6;}
.faq summary::-webkit-details-marker{display:none;}
.faq-q{font-family:var(--en);font-weight:800;color:var(--link);flex:none;}
.faq-t{flex:1;}
.faq summary .icon{flex:none;width:20px;height:20px;color:var(--sub);transition:transform .2s;margin-top:3px;}
.faq[open] summary .icon{transform:rotate(180deg);}
.faq-a{padding:0 20px 20px 46px;font-size:14.5px;color:var(--ink-2);line-height:1.85;}

/* ---------- 会社概要・エリア ---------- */
.co-grid{display:grid;gap:24px;}
@media(min-width:960px){.co-grid{grid-template-columns:1.2fr .8fr;gap:40px;}}
.co-table{background:#fff;border-radius:var(--r);border:1px solid var(--rule);overflow:hidden;}
.co-table th,.co-table td{text-align:left;vertical-align:top;padding:14px 18px;border-bottom:1px solid var(--rule);font-size:14.5px;line-height:1.7;}
.co-table tr:last-child th,.co-table tr:last-child td{border-bottom:0;}
.co-table th{width:7.5em;font-weight:700;color:var(--sub);background:var(--paper);white-space:nowrap;}
@media(max-width:559px){.co-table th,.co-table td{display:block;width:auto;}.co-table th{padding-bottom:4px;border-bottom:0;background:none;}.co-table td{padding-top:0;}}
.area{padding:24px;border-radius:var(--r);background:#fff;border:1px solid var(--rule);}
.area h3{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:800;}
.area h3 .icon{color:var(--sky);}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0;}
.chip{padding:6px 12px;border-radius:999px;background:var(--paper);border:1px solid var(--rule);font-size:13.5px;font-weight:600;}
.area p{font-size:13.5px;color:var(--sub);}
.area p+p{margin-top:8px;}

/* ---------- 読みもの ---------- */
.reads{display:grid;gap:10px;}
@media(min-width:768px){.reads{grid-template-columns:repeat(2,1fr);gap:14px;}}
.read{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border-radius:14px;background:var(--paper);border:1px solid var(--rule);color:var(--ink);text-decoration:none;}
.read:hover{border-color:var(--ink);}
.read-cat{font-size:12px;font-weight:700;color:var(--link);}
.read-title{font-weight:700;font-size:15px;line-height:1.6;}

/* ---------- 問い合わせ ---------- */
.contact-grid{display:grid;gap:28px;}
@media(min-width:960px){.contact-grid{grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start;}}
.contact-side h2{font-size:clamp(26px,4.4vw,40px);font-weight:900;line-height:1.35;letter-spacing:-.02em;margin:14px 0 14px;}
.contact-side p{color:var(--night-sub);}
.contact-side .btns{margin-top:24px;flex-direction:column;}
.contact-side .btns .btn{flex:none;}
.contact-side .btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.3);}
.contact-hours{font-size:13.5px;color:var(--night-sub);margin-top:16px;}
.form-card{background:#fff;color:var(--ink);border-radius:var(--r-lg);padding:28px 22px;box-shadow:var(--shadow);}
@media(min-width:768px){.form-card{padding:36px 36px;}}
.form-card h3{font-size:20px;font-weight:800;}
.form-card .lead,.sec--night .form-card .lead{font-size:14px;margin-top:4px;color:var(--sub);}
.field{display:grid;gap:6px;margin-top:20px;}
.field label{font-weight:700;font-size:15px;display:flex;align-items:center;gap:8px;}
.req,.opt{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:6px;}
.req{background:var(--hot);color:#fff;}
.opt{background:var(--paper-2);color:var(--sub);}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:16px;padding:13px 14px;border-radius:12px;border:1.5px solid var(--rule);background:#fff;color:var(--ink);}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2356626e' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px;}
.field textarea{min-height:140px;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--sky);outline:none;box-shadow:0 0 0 4px var(--sky-soft);}
.hint{font-size:12.5px;color:var(--sub);line-height:1.6;}
.form-links{font-size:13px;color:var(--sub);margin-top:20px;}
.form-card input[type=submit]{width:100%;margin-top:16px;min-height:58px;border:0;border-radius:999px;background:var(--hot);color:#fff;font:inherit;font-weight:800;font-size:17px;cursor:pointer;}
.form-card input[type=submit]:hover{filter:brightness(1.06);}
.form-card input[type=submit]:disabled{opacity:.6;}
.form-after{font-size:13px;color:var(--sub);margin-top:12px;text-align:center;}
.wpcf7-response-output{display:none;border-radius:10px;font-size:14px;}
.ka-hp{position:absolute!important;left:-9999px;top:-9999px;height:0;overflow:hidden;}


/* ---------- スマホでページを短くする（2026-10-18） ---------- */
@media(max-width:767px){
  .sec{padding:56px 0;}
  .sec-head{margin-bottom:28px;}
  /* 選ばれる理由：アイコンを見出しの横に */
  .reasons{margin-top:40px;gap:10px;}
  .reason{display:grid;grid-template-columns:40px 1fr;column-gap:14px;padding:18px;}
  .reason .ico{grid-row:span 2;margin:0;}
  .reason p{margin-top:2px;}
  /* 流れ：番号を見出しの横に */
  .step{display:grid;grid-template-columns:44px 1fr;column-gap:10px;padding:18px;}
  .step-num{grid-row:span 2;font-size:24px;padding-top:2px;}
  .step h3{margin:0 0 4px;}
  .ways{margin-top:28px;}
  /* お客様の声：横にめくる */
  .voices{grid-auto-flow:column;grid-auto-columns:84%;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--gut) * -1);padding:0 var(--gut) 10px;scroll-padding:0 var(--gut);}
  .voice{scroll-snap-align:start;}
  .svc-media{aspect-ratio:16/9;}
  .svc--noimg .svc-body{padding:18px;}
}
@media(min-width:768px){.voice-hint{display:none;}}


/* 料金のしくみ（何が無料で、どこからかかるか） */
.howfee-h{font-size:18px;font-weight:800;margin:0 0 14px;}
.howfee-h + .prices{margin-top:0;}
.howfee{display:grid;gap:10px;margin-bottom:40px;counter-reset:none;}
@media(min-width:900px){.howfee{grid-template-columns:repeat(3,1fr);gap:0;}}
.hf{position:relative;display:grid;grid-template-columns:36px 1fr auto;grid-template-areas:"n b amt" "n s s";align-items:center;column-gap:12px;row-gap:2px;
  padding:18px 20px;background:#fff;border:1px solid var(--rule);border-radius:var(--r);}
.hf-n{grid-area:n;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--sky-soft);color:var(--link);font-family:var(--en);font-weight:800;}
.hf b{grid-area:b;font-size:15.5px;line-height:1.5;}
.hf-amt{grid-area:amt;font-family:var(--en);font-weight:800;font-size:24px;white-space:nowrap;}
.hf-amt small{font-family:var(--sans);font-size:13px;}
.hf-amt--txt{font-family:var(--sans);font-size:14.5px;color:var(--link);white-space:normal;text-align:right;}
.hf > small{grid-area:s;font-size:13px;color:var(--sub);}
.hf--free{background:var(--ink);border-color:var(--ink);color:#fff;}
.hf--free .hf-n{background:rgba(143,214,242,.18);color:#8fd6f2;}
.hf--free .hf-amt{color:#8fd6f2;font-size:30px;}
.hf--free > small{color:var(--night-sub);}
@media(min-width:900px){
  .hf{grid-template-columns:1fr;grid-template-areas:"n" "b" "amt" "s";align-content:start;padding:24px;border-radius:0;}
  .hf:first-child{border-radius:var(--r) 0 0 var(--r);}
  .hf:last-child{border-radius:0 var(--r) var(--r) 0;}
  .hf + .hf{border-left:0;}
  .hf-amt{margin-top:6px;}
  .hf-amt--txt{text-align:left;font-size:17px;}
  .hf:not(:last-child)::after{content:"";position:absolute;right:-13px;top:50%;width:24px;height:24px;margin-top:-12px;z-index:1;border-radius:50%;
    background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230b6fa4' stroke-width='3'%3E%3Cpolyline points='9 6 15 12 9 18'/%3E%3C/svg%3E") center/14px no-repeat;border:1px solid var(--rule);}
}

/* 不安への答え */
.reason-q{display:inline-block;font-size:13px;font-weight:700;color:#8fd6f2;background:rgba(143,214,242,.12);padding:3px 10px;border-radius:999px;margin-bottom:8px;justify-self:start;}
@media(max-width:767px){.reason-q{grid-column:2;margin-bottom:4px;}.reason .ico{grid-row:span 3;}}

/* 仲介ではない */
.owner-direct{padding:12px 16px;border-left:3px solid #8fd6f2;background:rgba(255,255,255,.05);border-radius:0 10px 10px 0;color:#fff!important;font-weight:700;}

/* フォームの安心材料 */
.form-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-top:14px;padding-top:14px;border-top:1px solid var(--rule);font-size:13px;font-weight:700;color:var(--ink-2);}
.form-trust li{display:flex;align-items:center;gap:5px;}
.form-trust .icon{width:16px;height:16px;color:var(--line);}
@media(min-width:1080px){.howfee ~ .prices{grid-template-columns:repeat(4,1fr);}.howfee ~ .prices .price-head{flex-direction:column;align-items:flex-start;gap:2px;}}
@media(max-width:899px){
  .hf{grid-template-columns:36px 1fr;grid-template-areas:"n b" "n amt" "n s";padding:14px 18px;}
  .hf-amt,.hf-amt--txt{text-align:left;font-size:20px;}
  .hf-amt--txt{font-size:15px;}
  .hf--free .hf-amt{font-size:24px;}
  .howfee{margin-bottom:32px;}
}
@media(max-width:767px){
  .prices{gap:8px;}
  .price{padding:14px 18px;gap:2px;}
  .price-amt{font-size:22px;}
}

/* ==========================================================================
   /lp/・業務用・診断で使う部品（2026-10-18）
   ========================================================================== */
.h1-lp{font-size:clamp(28px,5.2vw,48px)!important;}
.hero-sub-link{display:inline-block;margin-top:14px;font-size:14px;font-weight:700;}
.hero--solo .hero-grid{grid-template-columns:1fr;}
.hero--solo .hero-lead{max-width:44em;}

/* 受付中の表示（時刻で文が変わる。site.js） */
.live{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:6px 14px;border-radius:999px;background:var(--line-soft);color:#05612b;font-size:13.5px;font-weight:700;}
.live .dot{width:9px;height:9px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.18);}
.live.is-closed{background:var(--paper-2);color:var(--ink-2);}
.live.is-closed .dot{background:var(--sub);box-shadow:none;}
.live--dark{background:rgba(255,255,255,.08);color:#c9f2d7;}
.live--dark.is-closed{background:rgba(255,255,255,.08);color:var(--night-sub);}

/* 3つのお約束 */
.promises{display:grid;gap:12px;}
@media(min-width:900px){.promises{grid-template-columns:repeat(3,1fr);gap:16px;}}
.promise{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:var(--r);background:var(--paper);border:1px solid var(--rule);}
.promise h2{font-size:20px;font-weight:900;line-height:1.45;}
.promise em{font-style:normal;color:var(--hot);font-family:var(--en);font-size:1.25em;}
.promise p{font-size:14.5px;color:var(--ink-2);line-height:1.8;}
.promise small{font-size:12.5px;color:var(--sub);margin-top:auto;}
.promise--dark{background:var(--ink);border-color:var(--ink);color:#fff;}
.promise--dark em{color:#8fd6f2;}
.promise--dark p{color:#dbe3ea;}
.promise--dark small{color:var(--night-sub);}

/* 注意の帯 */
.urg{background:#fff7e8;border-top:1px solid #f3dfb8;border-bottom:1px solid #f3dfb8;}
.urg .wrap{display:flex;gap:12px;align-items:flex-start;padding-top:16px;padding-bottom:16px;}
.urg .icon{color:#b5650b;width:22px;height:22px;margin-top:3px;}
.urg p{font-size:14.5px;line-height:1.75;color:#5b3a07;}

/* 症状と料金の目安 */
.symx{display:grid;gap:10px;}
@media(min-width:900px){.symx{grid-template-columns:repeat(2,1fr);gap:12px;}}
.symx li{display:grid;grid-template-columns:40px 1fr auto;gap:14px;align-items:center;padding:16px 18px;border-radius:14px;background:#fff;border:1px solid var(--rule);}
.symx .ico{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--sky-soft);color:var(--link);}
.symx .ico .icon{width:20px;height:20px;}
.symx-b b{display:block;font-size:15.5px;line-height:1.5;}
.symx-b span{display:block;font-size:13px;color:var(--sub);line-height:1.65;margin-top:2px;}
.symx-p{font-family:var(--en);font-weight:800;font-size:17px;text-align:right;white-space:nowrap;line-height:1.3;}
.symx-p small{display:block;font-family:var(--sans);font-size:11.5px;font-weight:700;color:var(--sub);}
@media(max-width:559px){.symx li{grid-template-columns:40px 1fr;}.symx-p{grid-column:2;text-align:left;}.symx-p small{display:inline;margin-left:6px;}}

/* メーカー・業種のチップ */
.makers{margin-top:28px;padding:22px;border-radius:var(--r);background:#fff;border:1px solid var(--rule);}
.makers-t{font-weight:800;font-size:15px;}
.makers .chips{margin:12px 0 0;}
.makers-n{font-size:13px;color:var(--sub);margin-top:12px;}
.chips--lg .chip{font-size:15px;padding:10px 16px;background:#fff;}

/* セルフ診断への案内 */
.dg-band{display:grid;gap:20px;align-items:center;margin-top:28px;padding:26px;border-radius:var(--r-lg);background:var(--ink);color:#fff;}
@media(min-width:900px){.dg-band{grid-template-columns:1fr auto;padding:32px 36px;}}
.dg-band .eyebrow{color:#8fd6f2;}
.dg-band h3{font-size:clamp(19px,2.6vw,24px);font-weight:900;line-height:1.45;margin:8px 0;}
.dg-band p{font-size:14.5px;color:#dbe3ea;line-height:1.8;}
.dg-band .hero-promise{color:#fff;}
.dg-band .hero-promise .icon{color:#8fd6f2;}
.dg-band .btn--ghost{background:#fff;}

/* ケース別の内訳 */
.cases{display:grid;gap:12px;}
@media(min-width:768px){.cases{grid-template-columns:repeat(2,1fr);gap:16px;}}
@media(min-width:1080px){.cases--3{grid-template-columns:repeat(3,1fr);}}
.case{display:flex;flex-direction:column;padding:22px;border-radius:var(--r);background:var(--paper);border:1px solid var(--rule);}
.case h4{font-size:17px;font-weight:800;line-height:1.5;}
.case-s{font-size:13.5px;color:var(--sub);margin:6px 0 12px;line-height:1.7;}
.case dl{display:grid;gap:0;border-top:1px solid var(--rule);}
.case dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed var(--rule);font-size:14px;}
.case dt{color:var(--ink-2);}
.case dd{font-family:var(--en);font-weight:700;white-space:nowrap;}
.case-t{display:flex;justify-content:space-between;align-items:baseline;margin-top:12px;}
.case-t b{font-size:15px;}
.case-t span{font-family:var(--en);font-weight:800;font-size:24px;color:var(--ink);}
.case-n{font-size:12.5px;color:var(--sub);margin-top:8px;line-height:1.7;}
@media(min-width:1080px){.prices--biz{grid-template-columns:repeat(3,1fr);}}

/* 説明カード（症状別の原因・業種・北海道の事情など） */
.explains{display:grid;gap:12px;}
@media(min-width:768px){.explains{grid-template-columns:repeat(2,1fr);gap:16px;}}
@media(min-width:1080px){.explains--3{grid-template-columns:repeat(3,1fr);}}
.explain{padding:22px;border-radius:var(--r);background:#fff;border:1px solid var(--rule);}
.sec--white .explain{background:var(--paper);}
.explain h4{font-size:17px;font-weight:800;line-height:1.5;padding-left:12px;border-left:4px solid var(--sky);}
.explain p{font-size:14.5px;color:var(--ink-2);line-height:1.85;margin-top:10px;}

/* 長い説明文 */
.longtext{display:grid;gap:8px;}
@media(min-width:960px){.longtext{grid-template-columns:.85fr 1.15fr;gap:56px;}.longtext .sec-head{position:sticky;top:calc(var(--header-h) + 24px);align-self:start;}}
.longtext-b{font-size:16px;line-height:1.95;color:var(--ink-2);}
.longtext-b > * + *{margin-top:1.1em;}
.longtext-b h3{font-size:19px;font-weight:800;color:var(--ink);margin-top:1.8em;padding-left:12px;border-left:4px solid var(--sky);line-height:1.55;}
.longtext-b b{color:var(--ink);background:linear-gradient(transparent 62%,#fde7b0 62%);}

/* 明るい地の施工事例 */
.rail--light .shot{background:#fff;border:1px solid var(--rule);}
.rail--light .shot figcaption{color:var(--sub);}
.rail--light .shot b{color:var(--ink);}

/* 問い合わせ（本物のフォームを白い枠で） */
.form-wrap{background:#fff;color:var(--ink);border-radius:var(--r-lg);padding:26px 20px;box-shadow:var(--shadow);}
@media(min-width:768px){.form-wrap{padding:34px 36px;}}
.form-wrap-h{font-size:20px;font-weight:800;}
.form-wrap-l{font-size:14px;color:var(--sub);margin:4px 0 18px;}
.form-wrap .wpcf7-form{border:0;padding:0;border-radius:0;}
.form-assure{display:grid;gap:8px;margin-top:22px;font-size:14px;color:#dbe3ea;}
.form-assure li{display:flex;gap:8px;line-height:1.7;}
.form-assure li::before{content:"✓";color:#8fd6f2;font-weight:800;}

/* 診断ページの小さな調整 */
.dg .btn--primary,.dg-start{background:var(--hot)!important;color:#fff!important;border:0;}
.btn-lines{display:flex;flex-direction:column;align-items:center;line-height:1.3;}
.btn-lines small{font-size:12px;font-weight:500;opacity:.9;}
