
/* ===== エックスサーバー風（実画面準拠・このTOPのみ／共有style.css未変更） ===== */
:root{
  --blue:#286ed3; --blue-bright:#00a9ef; --blue-dark:#1b63a7;
  --navy:#1b63a7; --navy-soft:#1b5fa6; --navy-2:#113d6b;
  --gold:#ff5400; --pale:#eff4f8;
  --font:"Roboto","Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",Meiryo,sans-serif;
}
body{ font-family:var(--font); font-size:16px; line-height:1.85; color:#333; -webkit-font-smoothing:antialiased; letter-spacing:.01em; }
/* 明るいXserverブルーのバンド */
.stats{ background-image:linear-gradient(135deg,#2f7fe0 0%,#1b63a7 100%)!important; }
.hero__shade{ background-color:transparent!important; background-image:linear-gradient(95deg,rgba(0,0,0,.40) 0%,rgba(0,0,0,.24) 45%,rgba(0,0,0,.07) 70%,rgba(0,0,0,0) 100%)!important; }
.quicknav{ background-image:linear-gradient(135deg,#286ed3 0%,#1b63a7 100%); }
.quicknav__card{ background:linear-gradient(180deg,rgba(27,99,167,.92),rgba(17,61,107,.97))!important; border:1px solid rgba(255,255,255,.12); }
.y-method{ background-image:linear-gradient(135deg,#286ed3 0%,#1b63a7 100%); }
.trust-grid article{ background:linear-gradient(160deg,#1b63a7 0%,#0e2c4d 100%)!important; }
.rep-card{ background-image:linear-gradient(150deg,#286ed3 0%,#1b63a7 100%); }
.roadmap{ background-image:linear-gradient(160deg,#1b63a7 0%,#113d6b 100%); }
.case-grid article.is-no-photo{ background:linear-gradient(155deg,#286ed3 0%,#1b63a7 100%)!important; }
/* 淡色セクション・薄い境界＋柔らかい影（Xserverの白カード感） */
.section--pale{ background:#eff4f8!important; }
.case-grid article,.target-card,.solution-grid article,.ref-grid a,.cost-card-grid article,.quickdry__steps article,.legacy-gallery li,.legacy-process li figure,.movie-grid article{ box-shadow:0 2px 10px rgba(27,99,167,.10)!important; border-radius:8px; border:1px solid #e4ecf4; }
/* 見出し・ラベル：ソリッド色（グラデ文字はやめる） */
.section-kicker{ font-family:"Montserrat","Roboto",var(--font); font-weight:700; letter-spacing:.16em; color:#286ed3!important; -webkit-text-fill-color:#286ed3!important; background:none!important; }
.section-title:not(.section-title--white){ color:#2f334c; font-weight:700; letter-spacing:.02em; }
.section-title em{ color:#1b63a7!important; -webkit-text-fill-color:#1b63a7!important; background:none!important; font-style:normal; }
.target-card h3,.solution-grid h3,.case-grid h3,.cost-card-grid h3,.number-list h3,.quickdry__steps h3{ color:#2f334c; font-weight:700; }
.hero h1{ font-weight:800!important; letter-spacing:.02em; text-shadow:0 2px 18px rgba(0,12,32,.6),0 1px 3px rgba(0,12,32,.5)!important; }
.hero p{ color:#fff!important; text-shadow:0 1px 12px rgba(0,12,32,.6)!important; }
/* 数字：青・単位はオレンジ（Xserverの料金表現） */
.quickdry__steps strong,.number-list strong{ color:#1b63a7!important; -webkit-text-fill-color:#1b63a7!important; background:none!important; font-family:"Roboto",sans-serif; }
.stats__item strong span,.stats__item span{ color:#fff!important; } .quickdry__steps strong span{ color:#1b63a7!important; }
/* 本文：柔らかい黒・軽め */
section p,.lead,.quickdry__body,.about-text p,li,dd,.cost__lead{ color:#333; }
section p,section li,section dd,.hero__targets,.quickdry__body,.about-text p{ font-weight:400!important; }
.lead,.cost__lead,.quickdry__copy>p{ font-weight:500!important; }
.ref-note,.cases-intro,.products-intro{ color:#7a7f88; }
/* 英字＝Montserrat／数字＝Roboto */
.hero__badges span,.quicknav__marquee,.stats__item small,.num-id,.sec-en,.eyebrow{ font-family:"Montserrat","Roboto",var(--font); font-weight:700; letter-spacing:.12em; }
.stats__item strong,.y-method__facts b,.trust-grid strong,.cost-card-grid b{ font-family:"Roboto","Noto Sans JP",sans-serif; }
/* ボタン：主CTA＝オレンジ（角丸・立体）／アウトライン＝青枠 */
.button{ border-radius:6px!important; font-family:var(--font); font-weight:700; letter-spacing:.02em; }
.button--primary{ background:linear-gradient(to bottom,#ff8a2a,#ff5400)!important; border:none!important; color:#fff!important; box-shadow:0 6px 16px rgba(255,84,0,.30); }
.button--primary:hover{ background:linear-gradient(to bottom,#ff7a14,#ec4d00)!important; }
.button--outline{ border:2px solid #286ed3!important; background:#fff!important; color:#1b63a7!important; }
/* ヘッダー申込ボタン＝Xserver同様オレンジ */
.gnav__cta,.header-cta{ background:linear-gradient(to bottom,#ff8a2a,#ff5400)!important; color:#fff!important; border:none!important; box-shadow:0 4px 12px rgba(255,84,0,.28); }
/* バッジは青枠（オレンジ過多を抑える） */
.hero__badges span{ border-color:rgba(255,255,255,.55)!important; color:#fff!important; background-color:rgba(9,32,68,.5)!important; }
/* ===== Fable決定：Xserver寄せ仕上げ（WHY USを基準・特大/極太/チープ水色を排除） ===== */
/* 全体タイポ抑制 */
.section-title:not(.section-title--white),.section-title--white{ font-size:clamp(21px,2.3vw,29px)!important; font-weight:600!important; letter-spacing:.01em; }
.section-title em{ font-weight:600!important; }
.target-card h3,.solution-grid h3,.case-grid h3,.quickdry__steps h3,.number-list h3,.cost-card-grid h3,.quicknav__card strong{ font-weight:600!important; }
.lead{ font-size:16px!important; font-weight:500!important; }
.target-card p,.solution-grid p,.case-grid p,.trust-grid p{ font-weight:400!important; }
/* チープな明るい水色を排除：ヒーロー強調は柔らかい光青 */
.hero h1 em,.hero__inner h1 em,.hero-catch em{ color:#dff1ff!important; -webkit-text-fill-color:#dff1ff!important; text-shadow:0 2px 18px rgba(0,12,32,.7)!important; }
/* 速乾の引用：白カード＋左に細い青ライン・通常サイズ */
.quickdry__quote{ background:#fff!important; background-image:none!important; border:1px solid #e4ecf4!important; border-left:1px solid #e4ecf4!important; border-radius:10px!important; box-shadow:0 2px 12px rgba(27,99,167,.08)!important; }
.quickdry__quote::after,.quickdry__quote::before{ display:none!important; }
.quickdry__quote p,.quickdry__quote-text p{ color:#333!important; font-size:17.5px!important; font-weight:400!important; line-height:1.95!important; }
.quickdry__quote cite{ color:#1a2233!important; font-weight:700!important; font-style:normal; }
/* （社長縮小ルール撤去） */
/* 用途別に探す：文字縮小・太字抑制 */
.quicknav__card strong{ font-size:20px!important; }
.quicknav__card span{ font-size:13px!important; font-weight:500!important; }
/* Y工法：チープ水色グラデ→濃青単色・数値は白/光青 */
.y-method{ background-image:none!important; background-color:#1b63a7!important; }
/* Y工法：青背景の上辺を斜めに（左上は上端・右に向かって下げる＝quicknavと同方向） */
.y-method{ clip-path:polygon(0 0,100% 56px,100% 100%,0 100%); -webkit-clip-path:polygon(0 0,100% 56px,100% 100%,0 100%); padding-top:96px!important; }
.y-method h2 em,.y-method em{ color:#cfe9ff!important; -webkit-text-fill-color:#cfe9ff!important; }
.y-method__facts b{ color:#fff!important; -webkit-text-fill-color:#fff!important; }
/* 施工事例 dl：文字底上げ・読みやすく */
.case-grid dl{ font-size:14px!important; line-height:1.7!important; }
.case-grid dt{ color:#1b63a7!important; font-weight:600!important; }
.case-grid dd{ color:#333!important; }
.case-grid article p{ font-size:14px!important; }
/* 施工事例の仕様表をXserver調に：行区切り・ラベル整列 */
.case-grid dl{ grid-template-columns:66px 1fr!important; gap:0 16px!important; margin:6px 20px 22px!important; font-size:13px!important; }
.case-grid dt{ padding:9px 2px!important; border-top:1px solid #e9eff6!important; color:#1b63a7!important; font-weight:700!important; letter-spacing:.06em; align-self:start; }
.case-grid dd{ padding:9px 0!important; border-top:1px solid #e9eff6!important; color:#3a4759!important; font-weight:500!important; line-height:1.6!important; }
.case-grid dt:first-of-type,.case-grid dd:first-of-type{ border-top:none!important; }
.case-grid article.is-no-photo dt,.case-grid article.is-no-photo dd{ border-top-color:rgba(255,255,255,.18)!important; }
.case-grid article.is-no-photo dt{ color:#cfe9ff!important; }
.case-grid article h3{ font-size:17px!important; }
/* 代表メッセージ：特大ステートメント抑制 */
.message__statement{ font-size:clamp(25px,2.4vw,32px)!important; font-weight:700!important; line-height:1.5!important; color:#1b63a7!important; transform:none!important; padding:24px 30px!important; background:#eff4f8!important; box-shadow:0 6px 18px rgba(11,32,64,.06)!important; border-radius:8px!important; }
.message .section-title{ }
/* CTA：特大見出し抑制（背景は濃紺で締める） */
.cta h2{ font-size:clamp(22px,2.6vw,30px)!important; font-weight:600!important; }
.cta__lead{ font-size:15px!important; }
/* 社長を大きく見せる（デスクトップ／引用ブロック内・絶対配置を拡大） */
@media (min-width:981px){
  .quickdry__quote{ padding-right:680px!important; min-height:320px!important; }
  .quickdry__person{ width:580px!important; height:340px!important; right:70px!important; }
  .quickdry__person img{ width:440px!important; max-width:none!important; }
  .quickdry__person figcaption{ left:452px!important; bottom:54px!important; }
  .quickdry__person figcaption strong{ font-size:25px!important; }
  .quickdry__person figcaption span{ font-size:14px!important; }
}
/* 速乾の数字：2倍に拡大＋時間差で1回転 */
.quickdry__steps{ perspective:900px; }
.quickdry__steps strong{ font-size:clamp(52px,5vw,70px)!important; display:inline-block!important; }
.quickdry__steps strong span{ font-size:30px!important; }
.quickdry__steps article:nth-child(1) strong{ animation-delay:0s; }
.quickdry__steps article:nth-child(2) strong{ animation-delay:1.1s; }
.quickdry__steps article:nth-child(3) strong{ animation-delay:2.2s; }
.quickdry__steps article:nth-child(4) strong{ animation-delay:3.3s; }
@keyframes statSpin{ 0%,62%{ transform:rotateY(0deg); } 82%{ transform:rotateY(360deg); } 100%{ transform:rotateY(360deg); } }
/* FIND BY USE 等 濃色バンドのキッカーを明るく（背景と同色で消える対策） */
.quicknav .section-kicker,.y-method .section-kicker,.stats .section-kicker{ color:#dff1ff!important; -webkit-text-fill-color:#dff1ff!important; }
/* 用途カード：ページへ飛べると分かる導線（オレンジ矢印バッジ＋ホバー） */
.quicknav__card{ position:relative; transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease!important; }
.quicknav__card::after{ content:"→"; position:absolute; top:12px; right:12px; width:34px; height:34px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#ff5400; color:#fff; font-size:16px; font-weight:700; line-height:1; box-shadow:0 2px 8px rgba(255,84,0,.32); z-index:4; transition:transform .25s ease; }
.quicknav__card:hover{ transform:translateY(-6px)!important; box-shadow:0 18px 38px rgba(0,0,0,.3)!important; border-color:#ff8a2a!important; }
.quicknav__card:hover::after{ transform:translateX(4px) scale(1.05); }
.quicknav__card:hover strong{ text-decoration:none; }
/* 代表ステートメント：左の斜め縦線(::before)とskewを撤去・拡大 */
.message__statement::before{ display:none!important; }
.message__statement *{ transform:none!important; }
/* PROCESS 工程をしっかり：番号大型化・カード上質化・上部アクセント */
.legacy-process__grid{ gap:20px!important; }
.legacy-process__grid figure{ border:1px solid #e4ecf4!important; border-top:3px solid #1b63a7!important; border-radius:10px!important; box-shadow:0 6px 20px rgba(11,32,64,.08)!important; overflow:hidden!important; transition:transform .2s ease,box-shadow .2s ease; }
.legacy-process__grid figure:hover{ transform:translateY(-4px)!important; box-shadow:0 16px 34px rgba(11,32,64,.16)!important; }
.legacy-process__grid figcaption{ padding:18px 20px 20px!important; }
.legacy-process__grid figcaption b{ width:46px!important; height:46px!important; background:#1b63a7!important; font-size:17px!important; box-shadow:0 4px 10px rgba(27,99,167,.30); }
.legacy-process__grid figcaption strong{ font-size:18px!important; color:#1b2a44!important; }
.legacy-process__grid figcaption span{ font-size:13px!important; color:#41546e!important; }
/* COST：見出し左／スプレー施工写真を右に（2カラム） */
.cost__head{ display:grid; grid-template-columns:1.05fr .95fr; gap:42px; align-items:center; margin-bottom:26px; }
.cost__head-photo{ margin:0; border-radius:12px; overflow:hidden; box-shadow:0 16px 36px rgba(11,32,64,.18); }
.cost__head-photo img{ display:block; width:100%; height:347px; aspect-ratio:auto; object-fit:cover; object-position:center; }
@media (max-width:900px){ .cost__head{ grid-template-columns:1fr; gap:24px; } }
/* COSTブロックを下のQUICK RECOVERYと同じ幅に合わせる */
.section.cost > .container{ width:min(calc(100% - 48px), 1548px)!important; max-width:none!important; }
@media (max-width:980px){ .section.cost > .container{ width:min(calc(100% - 40px), 1548px)!important; } }
/* 数字の回転を無効化（stats hover spin＋quickdry残り） */
.stats__item strong,.stats__item:hover strong{ animation:none!important; }
.quickdry__steps article strong{ animation:none!important; }
/* SOLUTION FOR：ケースタグ（画像上・Xserver調の白ピル／旧 公法個リボン置換） */
#targets .target-card .case-tabs{ position:absolute; top:14px; left:14px; right:14px; display:flex; flex-wrap:wrap; gap:6px; z-index:3; }
#targets .target-card .case-tabs span{ display:inline-block; padding:4px 11px; border-radius:4px; background:rgba(255,255,255,.95); color:#1b63a7; font-size:12px; font-weight:700; letter-spacing:.01em; box-shadow:0 2px 8px rgba(11,32,64,.20); }
/* ④ 用途別に探す：背景を濃青 #1b63a7 単色に（明るい水色グラデ撤去） */
.quicknav{ background-image:none!important; background-color:#1b63a7!important; }
/* ⑩ CTA：主ボタンをオレンジ主役・サブは白枠 */
.cta .button--light{ background:linear-gradient(to bottom,#ff8a2a,#ff5400)!important; color:#fff!important; border:none!important; box-shadow:0 6px 16px rgba(255,84,0,.30)!important; }
.cta .button--ghost{ background:transparent!important; color:#fff!important; border:2px solid rgba(255,255,255,.6)!important; }
/* ⑪ フッター：チープ水色グラデ撤去→濃青の細い帯 */
.site-footer::before{ background-image:none!important; background-color:#1b63a7!important; }
/* フッターをエックスサーバー風：明るい背景＋濃紺の細い著作権バー */
.site-footer{ background:#f4f7fb!important; background-color:#f4f7fb!important; color:#46566a!important; }
.site-footer::before{ background-color:#1b63a7!important; }
.footer-brand strong{ color:#0e2c4d!important; }
.footer-brand-block h2{ color:#0e2c4d!important; }
.footer-tagline{ color:#9aa4b3!important; }
.footer-about{ color:#5a6675!important; }
.footer-info dt{ color:#1b63a7!important; }
.footer-info dd{ color:#46566a!important; }
.footer-info dd a{ color:#1b63a7!important; }
.site-footer .footer-grid h3{ color:#0e2c4d!important; border-bottom:1px solid #dde5ee!important; padding-bottom:10px!important; margin-bottom:12px!important; }
.site-footer .footer-grid a{ color:#46566a!important; }
.site-footer .footer-grid a:hover{ color:#ff5400!important; }
.footer-sns a{ color:#1b63a7!important; font-weight:700!important; }
.footer-licenses{ color:#8a94a3!important; border-top:1px solid #dde5ee!important; }
.copyright{ width:100%!important; max-width:none!important; margin:0!important; padding:16px!important; background:#0e2c4d!important; color:rgba(255,255,255,.88)!important; text-align:center!important; font-size:12.5px!important; letter-spacing:.04em!important; }
.footer-logo{ width:172px!important; height:auto!important; display:block!important; margin-bottom:14px!important; }
/* COST見出しを大きく */
.section.cost .section-title{ font-size:clamp(30px,3.4vw,44px)!important; line-height:1.34!important; }
/* COST見出し「コストは確実に下がる。」に走る黄色アンダーマーカー */
.section.cost .section-title em{ display:inline; color:#1b63a7!important; background-image:linear-gradient(transparent 55%,#ffe85c 55%)!important; background-repeat:no-repeat!important; background-position:left center!important; background-size:0% 100%; -webkit-box-decoration-break:clone; box-decoration-break:clone; animation:costMarker 1.3s cubic-bezier(.22,.61,.36,1) .4s forwards; }
@keyframes costMarker{ from{ background-size:0% 100%; } to{ background-size:100% 100%; } }
.section.cost .section-title .cost-hot{ color:#e0241b!important; }
/* スマホ：メニュー子リンク2列・フッター2列・原油ナフサ高騰を赤 */
@media (max-width:1024px){
  .gnav__panel{ display:grid!important; grid-template-columns:1fr 1fr!important; gap:0 6px!important; padding:0 8px 8px 14px!important; }
  .gnav__panel a{ padding:8px 8px!important; font-size:13px!important; }
  .footer-grid{ grid-template-columns:1fr 1fr!important; gap:16px 22px!important; }
  .footer-brand-block{ grid-column:1 / -1!important; }
  .cost-hot{ color:#e0241b!important; }
  /* 固定フッターをしっかり：電話=右(緑/番号)・左=オレンジ無料現地調査 */
  .mobile-cta{ grid-template-columns:1fr 1fr!important; gap:0!important; background:#0e2c4d!important; box-shadow:0 -4px 18px rgba(0,0,0,.32)!important; }
  .mobile-cta a{ min-height:64px!important; flex-direction:column!important; gap:2px!important; line-height:1.15!important; padding:8px 4px!important; }
  .mobile-cta .mc-main{ font-size:13.5px; font-weight:900; }
  .mobile-cta .mc-sub{ font-size:11.5px; font-weight:700; opacity:.95; }
  .mobile-cta__contact{ background:linear-gradient(to bottom,#ff8a2a,#ff5400)!important; }
  .mobile-cta__tel{ background:#1aa45c!important; }
}
/* グローバルメニュー：項目間にシンプルな縦線セパレーター（PC） */
@media (min-width:1025px){
  .site-header__bar .gnav > *{ position:relative; }
  .site-header__bar .gnav > * + *::before{ content:""; position:absolute; left:-16px; top:50%; transform:translateY(-50%); width:1px; height:15px; background:#cdd6e2; }
}
/* CTA電話：絵文字☎ → SVG電話アイコン */
.cta__phone-num::before{ content:""!important; display:inline-block!important; width:.6em!important; height:.6em!important; margin-right:12px!important; vertical-align:-0.02em!important; background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%238fd0ff'><path d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/></svg>") no-repeat center/contain!important; }
/* フッターYouTubeをアイコンに（ボタン装飾を解除） */
.footer-yt{ display:inline-flex!important; align-items:center!important; padding:0!important; border:none!important; background:none!important; box-shadow:none!important; }
.footer-yt svg{ display:block!important; transition:transform .2s ease; }
.footer-yt:hover svg{ transform:scale(1.08); }
/* ヘッダー：仮Yマーク→実ロゴ */
.brand__logo{ height:40px!important; width:auto!important; display:block!important; flex:0 0 auto!important; }
/* 2段ヘッダー（アース風：上段=ロゴ+電話+ボタン／下段=ナビ） */
.site-header__top{ display:flex; align-items:center; justify-content:space-between; gap:20px; width:min(calc(100% - 48px),1320px); margin:0 auto; min-height:84px; }
.site-header__bar{ border-top:1px solid var(--line,#e4ecf4); background:#fff; }
.site-header__bar .gnav{ width:min(calc(100% - 48px),1320px); margin:0 auto; }
.header-util{ display:flex; align-items:center; gap:14px; }
.header-tel{ display:flex; align-items:center; gap:9px; text-decoration:none; }
.header-tel__txt{ display:flex; flex-direction:column; line-height:1.12; }
.header-tel__txt strong{ font-size:23px; font-weight:900; letter-spacing:.02em; color:#0e2c4d; }
.header-tel__txt small{ font-size:11px; color:#5a6675; font-weight:700; }
.header-util-btn{ display:inline-flex; align-items:center; padding:11px 18px; border-radius:6px; font-size:13px; font-weight:800; text-decoration:none; border:1px solid #1b63a7; color:#1b63a7; background:#fff; white-space:nowrap; }
.header-util-btn:hover{ background:#eff4f8; }
.header-util-btn--primary{ border:none!important; color:#fff!important; background:linear-gradient(to bottom,#ff8a2a,#ff5400)!important; box-shadow:0 4px 12px rgba(255,84,0,.28); }
/* グローバルメニュー文字＆ブランドをロゴ色(#083088)に */
.brand__text strong{ color:#083088!important; font-size:20px!important; font-style:italic!important; }
.brand__text span{ margin-top:3px!important; }
.brand__text small{ margin-top:2px!important; color:#1a2233!important; }
.gnav__top, .gnav__link{ color:#083088!important; }
.gnav__item:hover .gnav__top, .gnav__item:focus-within .gnav__top, .gnav__link:hover{ color:#1b63a7!important; }
/* 上段ボタンの横余白を広げる */
.header-util{ gap:18px!important; }
.header-util-btn{ padding:11px 26px!important; }
@media (min-width:1025px){
  .site-header__bar .gnav{ min-height:56px; justify-content:center; gap:32px!important; font-size:14.5px!important; }
}
@media (max-width:1024px){
  .site-header__top{ min-height:60px; gap:10px; flex-wrap:nowrap; width:min(calc(100% - 24px),var(--max)); }
  .site-header__bar{ border-top:none; }
  .brand{ min-width:0; flex:0 1 auto; gap:8px; }
  .brand__logo{ height:30px!important; }
  .brand__text{ display:none!important; }
  .header-util{ gap:10px!important; flex:0 0 auto; }
  .header-util-btn{ display:none!important; }
  .header-tel{ white-space:nowrap; gap:6px; }
  .header-tel svg{ width:16px; height:16px; }
  .header-tel__txt small{ display:none!important; }
  .header-tel__txt strong{ font-size:16px!important; white-space:nowrap; }
  .nav-toggle{ flex:0 0 auto; }
  .gnav{ top:62px!important; max-height:calc(100vh - 84px)!important; overflow-y:auto!important; }
  .gnav.is-open{ opacity:1!important; visibility:visible!important; pointer-events:auto!important; transform:translateY(0)!important; }
}
@media (min-width:1025px){
  .gnav__cta{ white-space:nowrap!important; padding:13px 16px!important; }
  .gnav{ gap:13px!important; }
  .brand__text strong{ white-space:nowrap; }
  .brand__text > span{ white-space:nowrap; }
}
/* グローバルメニュー：再構成（多項目・間隔詰め） */
@media (min-width:1025px){ .gnav{ gap:14px!important; font-size:12.5px!important; } }
.gnav__item{ position:relative; }
.gnav__top{ display:inline-flex; align-items:center; gap:5px; padding:6px 0; color:#0b1220; font-weight:800; cursor:pointer; white-space:nowrap; outline:none; }
.gnav__top::after{ content:""; width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent; border-top:5px solid currentColor; opacity:.5; margin-left:1px; }
@media (min-width:1025px){
  .gnav__panel{ position:absolute; top:calc(100% + 12px); left:0; min-width:212px; background:#fff; border:1px solid #e4ecf4; border-radius:10px; box-shadow:0 18px 40px rgba(11,32,64,.16); padding:8px; display:flex; flex-direction:column; opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .18s ease, transform .18s ease, visibility .18s ease; z-index:120; }
  .gnav__panel::before{ content:""; position:absolute; top:-14px; left:0; right:0; height:14px; }
  .gnav__link{ padding:6px 0!important; color:#0b1220!important; font-weight:800; white-space:nowrap; border:none!important; }
  .gnav__link:hover{ color:#1b63a7!important; }
  .gnav__item:nth-of-type(3) .gnav__panel{ left:auto; right:0; }
  .gnav__item:hover .gnav__panel, .gnav__item:focus-within .gnav__panel{ opacity:1; visibility:visible; transform:translateY(0); }
  .gnav__item:hover .gnav__top, .gnav__item:focus-within .gnav__top{ color:#1b63a7; }
  .gnav__panel a{ padding:9px 14px!important; border:none!important; border-radius:6px; color:#2a3445!important; font-size:13.5px; font-weight:700; white-space:nowrap; }
  .gnav__panel a:hover{ background:#eff4f8; color:#1b63a7!important; }
}
@media (max-width:1024px){
  .gnav{ max-height:calc(100vh - 120px); overflow-y:auto; }
  .gnav__item{ width:100%; border-bottom:1px solid rgba(0,84,166,.10); }
  .gnav__top{ display:block; width:100%; padding:12px 12px 6px; color:#1b63a7; font-weight:900; }
  .gnav__top::after{ display:none; }
  .gnav__panel{ display:flex; flex-direction:column; padding:0 0 10px 14px; }
  .gnav__panel a{ padding:8px 12px!important; border-bottom:none!important; font-size:14px; color:#2a3445!important; }
  .gnav__link{ display:block; width:100%; padding:13px 12px!important; color:#0b1220!important; border-bottom:none!important; }
}
/* ヒーロー最上部の余白を詰めて内容を一段上げる */
.hero__inner{ padding-top:112px!important; }
.hero__badges{ margin-bottom:46px!important; }
@media (max-width:640px){ .hero__inner{ padding-top:88px!important; } .hero__badges{ margin-bottom:32px!important; } }
/* ヒーロー(スライダー)の高さを詰める：ボタン下の余白を短く */
.hero{ min-height:800px!important; }
@media (max-width:980px){ .hero{ min-height:660px!important; } }
@media (max-width:640px){ .hero{ min-height:600px!important; } }
/* スプレー写真を下げて作業員の頭・顔を見せる（上側を表示） */
.hero__image{ object-position:center 22%!important; }
@media (max-width:640px){ .hero__image{ object-position:center 18%!important; } }
/* ヒーロー・スライダー：大判画像をクロスフェード＋ゆっくりズーム（動き） */
.hero__slides{ position:absolute; inset:0; overflow:hidden; }
.hero__slides .hero__image{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 22%; opacity:0; will-change:opacity,transform; animation:heroSlide 28s infinite; }
.hero__slides .hero__image:nth-child(1){ animation-delay:0s; }
.hero__slides .hero__image:nth-child(2){ animation-delay:7s; }
.hero__slides .hero__image:nth-child(3){ animation-delay:14s; }
.hero__slides .hero__image:nth-child(4){ animation-delay:21s; }
@keyframes heroSlide{ 0%{opacity:0;transform:scale(1.09)} 3%{opacity:1} 22%{opacity:1} 25%{opacity:0;transform:scale(1.0)} 100%{opacity:0;transform:scale(1.0)} }
@keyframes heroFadeOnly{ 0%{opacity:0} 3%{opacity:1} 22%{opacity:1} 25%{opacity:0} 100%{opacity:0} }
@media (prefers-reduced-motion:reduce){ .hero__slides .hero__image{ animation-name:heroFadeOnly!important; } }
/* スライダー2枚用：クロスフェード（暗くしない・吹付除外） */
.hero__slides .hero__image{ animation:heroCross 21s ease-in-out infinite!important; will-change:opacity; }
.hero__slides .hero__image:nth-child(1){ animation-delay:0s!important; }
.hero__slides .hero__image:nth-child(2){ animation-delay:7s!important; }
.hero__slides .hero__image:nth-child(3){ animation-delay:14s!important; }
/* 重なってフェード（前後がクロス）＝切替の違和感を解消 */
@keyframes heroCross{ 0%{opacity:0} 6%{opacity:1} 27%{opacity:1} 39%{opacity:0} 100%{opacity:0} }
@media (prefers-reduced-motion:reduce){ .hero__slides .hero__image{ animation-name:heroCross!important; } }

/* TOPセクション末尾の詳しく見る導線：2カラム内でも全幅・上余白 */
.more-link{grid-column:1 / -1 !important;margin-top:26px !important;}

/* グローバルナビ：太さ・色を均一化（バランス調整） */
.site-header__bar .gnav__top, .site-header__bar .gnav__link{font-weight:500 !important;color:#1a2233 !important;}

/* グローバルナビ：項目間に余裕＋ドロップダウンを上質に */
.site-header__bar .gnav{column-gap:50px !important;}
.gnav__panel{border:none !important;border-radius:12px !important;padding:10px !important;box-shadow:0 22px 48px rgba(8,48,136,.20) !important;overflow:hidden !important;}
.gnav__panel::before{content:"";display:block;height:3px;margin:-10px -10px 8px;background:linear-gradient(90deg,#1b63a7,#083088);}
.gnav__panel a{border-radius:8px !important;padding:11px 16px !important;font-weight:500 !important;color:#2a3445 !important;transition:background .18s ease,color .18s ease,padding-left .18s ease !important;}
.gnav__panel a:hover{background:#eef4fb !important;color:#083088 !important;padding-left:20px !important;}

/* モバイル：サブメニューをタップ開閉（スクロール不要に） */
@media(max-width:1024px){
.site-header__bar .gnav__item > .gnav__panel{display:none !important;box-shadow:none !important;border-radius:0 !important;padding:4px 0 8px 12px !important;}
.site-header__bar .gnav__item.is-open > .gnav__panel{display:block !important;}
.site-header__bar .gnav__item > .gnav__panel::before{display:none !important;}
.site-header__bar .gnav__top{display:flex !important;align-items:center;justify-content:space-between;}
.site-header__bar .gnav__top::after{content:"";width:9px;height:9px;border-right:2px solid #1b63a7;border-bottom:2px solid #1b63a7;transform:rotate(45deg);transition:transform .2s ease;margin-left:10px;flex:0 0 auto;}
.site-header__bar .gnav__item.is-open > .gnav__top::after{transform:rotate(-135deg);}
}

/* 生成イメージ画像の注記 */
.page-hero-img{position:relative;}
.hero-img-note{position:absolute;right:12px;bottom:12px;background:rgba(11,18,32,.55);color:#fff;font-size:11px;letter-spacing:.04em;padding:3px 9px;border-radius:5px;}

/* フォーム作り込み（入力・確認・完了） */
.contact-form input[type=text],.contact-form input[type=tel],.contact-form input[type=email],.contact-form textarea{border:1.5px solid #cdd8e6 !important;border-radius:8px !important;padding:13px 14px !important;font-size:16px !important;background:#fff !important;transition:border-color .15s,box-shadow .15s;}
.contact-form input:focus,.contact-form textarea:focus{outline:none !important;border-color:#1b63a7 !important;box-shadow:0 0 0 3px rgba(27,99,167,.15) !important;}
.contact-form .form-radios label,.contact-form .form-checks label{border:1.5px solid #cdd8e6;border-radius:999px;padding:9px 18px !important;cursor:pointer;transition:border-color .15s,background .15s;background:#fff;font-weight:500 !important;}
.contact-form .form-radios label:hover,.contact-form .form-checks label:hover{border-color:#1b63a7;background:#f4f9ff;}
.contact-form .form-radios input,.contact-form .form-checks input{accent-color:#1b63a7;width:16px;height:16px;}
.form-row.is-error input,.form-row.is-error textarea{border-color:#e0241b !important;background:#fff5f4 !important;}
.form-row.is-error::after{content:"必須項目です。ご入力ください。";color:#e0241b;font-size:12px;display:block;margin-top:6px;font-weight:700;}
.form-submit .button{font-size:17px !important;padding:16px 52px !important;}
.req{color:#e0241b;}
.form-confirm{max-width:780px;margin:0 auto;}
.form-confirm dl{display:grid;grid-template-columns:170px 1fr;border:1.5px solid #d4e2f0;border-radius:10px;overflow:hidden;margin:18px 0 0;}
.form-confirm dt{background:#eef4fb;padding:13px 16px;font-weight:700;font-size:13px;border-bottom:1px solid #e4ecf4;}
.form-confirm dd{padding:13px 16px;margin:0;font-size:14px;border-bottom:1px solid #e4ecf4;word-break:break-all;}
.form-confirm-actions{display:flex;gap:14px;justify-content:center;margin-top:26px;flex-wrap:wrap;}
.form-done{max-width:640px;margin:0 auto;text-align:center;background:#fff;border:1.5px solid #d4e2f0;border-radius:14px;padding:44px 28px;box-shadow:0 14px 36px rgba(8,48,136,.10);}
.form-done h3{font-size:23px;color:#083088;margin:0 0 16px;}
.form-done .cta__phone-num{font-size:26px;}
@media(max-width:680px){.form-confirm dl{grid-template-columns:1fr;}.form-confirm dt{border-bottom:none;padding-bottom:4px;}}

/* ヒーロー画像を帯状に（大きすぎる画像の抑制） */
.page-hero-img{max-height:360px;overflow:hidden;border-radius:14px;}
.page-hero-img img{width:100%;height:360px;object-fit:cover;display:block;}
@media(max-width:768px){.page-hero-img{max-height:210px;}.page-hero-img img{height:210px;}}
/* 連絡先・アクセス */
.access-table{display:grid;grid-template-columns:130px 1fr;border:1.5px solid #d4e2f0;border-radius:10px;overflow:hidden;margin:0 0 22px;max-width:680px;}
.access-table dt{background:#eef4fb;padding:13px 16px;font-weight:700;font-size:13px;border-bottom:1px solid #e4ecf4;}
.access-table dd{padding:13px 16px;margin:0;font-size:14px;border-bottom:1px solid #e4ecf4;}
.map-embed{border-radius:12px;overflow:hidden;box-shadow:0 10px 30px rgba(8,48,136,.10);}
.map-embed iframe{width:100%;height:380px;border:0;display:block;}
@media(max-width:768px){.access-table{grid-template-columns:1fr;}.access-table dt{border-bottom:none;padding-bottom:4px;}.map-embed iframe{height:280px;}}

/* 矢印を消すボタン */
.button.no-arrow::after{content:none !important;margin-left:0 !important;}

/* コストカードを強調（目立たせる） */
.cost-card-grid article{background:#f4f9ff !important;border:1.5px solid #cfe0f2 !important;box-shadow:0 12px 30px rgba(8,48,136,.12) !important;border-radius:12px !important;}
.cost-card-grid article::before{height:6px !important;background:linear-gradient(90deg,#1b63a7,#083088) !important;}
.cost-card-grid article:hover{transform:translateY(-6px) !important;box-shadow:0 24px 48px rgba(8,48,136,.20) !important;border-color:#1b63a7 !important;}
.cost-card-grid b{font-size:84px !important;background:linear-gradient(180deg,rgba(8,48,136,.22),rgba(8,48,136,.06)) !important;-webkit-background-clip:text !important;background-clip:text !important;-webkit-text-fill-color:transparent !important;}
.cost-card-grid span{font-size:13px !important;padding:8px 16px !important;background:#1b63a7 !important;}
.cost-card-grid h3{font-size:23px !important;color:#0b1220 !important;}
.cost-card-grid p{color:#374151 !important;font-weight:600 !important;}

/* 用途カードをかっこよく */
.quicknav__card{border-radius:16px !important;overflow:hidden !important;box-shadow:0 10px 26px rgba(0,0,0,.24) !important;}
.quicknav__card img{height:175px !important;transition:filter .4s ease !important;}
.quicknav__card:hover img{filter:brightness(1.08) saturate(1.12) !important;}
.quicknav__card:hover{transform:translateY(-7px) !important;box-shadow:0 24px 48px rgba(0,0,0,.40) !important;}
.quicknav__card::before{content:"" !important;position:absolute !important;left:0;right:0;top:120px;height:80px;background:linear-gradient(180deg,rgba(17,61,107,0),rgba(17,61,107,.85)) !important;pointer-events:none;z-index:1;}
.quicknav__card strong,.quicknav__card span{position:relative;z-index:2;}
.quicknav__card::after{background:linear-gradient(135deg,#ff9d3f,#ff7a18) !important;box-shadow:0 6px 16px rgba(255,122,24,.55) !important;width:38px !important;height:38px !important;border:none !important;}
.quicknav__card:hover::after{transform:translateY(-2px) scale(1.08) !important;}
.quicknav__card.is-gold::after{background:linear-gradient(135deg,#f1c14b,#d99a17) !important;box-shadow:0 6px 16px rgba(217,154,23,.5) !important;}

/* QUICK RECOVERY 写真にテキストを重ねる */
.quickdry__photos .qr-photo{position:relative;margin:0;border-radius:6px;overflow:hidden;box-shadow:0 16px 34px rgba(11,32,64,.16);}
.quickdry__photos .qr-photo img{box-shadow:none !important;border-radius:0 !important;display:block;}
.quickdry__photos .qr-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:50px 20px 18px;background:linear-gradient(180deg,rgba(8,30,66,0),rgba(8,30,66,.86));color:#fff;font-weight:800;font-size:17px;line-height:1.45;text-shadow:0 2px 8px rgba(0,0,0,.45);}
.quickdry__photos .qr-photo figcaption strong{display:block;font-size:22px;color:#fff;margin-bottom:3px;}
@media(max-width:768px){.quickdry__photos .qr-photo figcaption{font-size:15px;padding:38px 16px 14px;}.quickdry__photos .qr-photo figcaption strong{font-size:19px;}}

/* FAQ カテゴリ見出し */
.faq-list .faq-cat{margin:36px 0 14px;color:#083088;font-size:18px;font-weight:800;padding-bottom:9px;border-bottom:2px solid #cfe0f2;}
.faq-list .faq-cat:first-child{margin-top:0;}
.faq-help{max-width:780px;margin:30px auto 0;text-align:center;background:#eef4fb;border:1.5px solid #cfe0f2;border-radius:12px;padding:26px 22px;}
.faq-help p{margin:0 0 14px;font-weight:700;color:#1a2233;}
.faq-help .faq-help-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* FIND BY USE 見出しにも COST と同じマーカー演出（白文字＋黄マーカー・スクロールインで左から流れる） */
.quicknav .section-title em{ position:relative; isolation:isolate; display:inline-block; font-style:normal; color:#fff!important; -webkit-text-fill-color:#fff!important; background:none!important; }
.quicknav .section-title em::after{ content:""; position:absolute; left:-.06em; right:-.06em; bottom:.1em; height:.26em; background:#ffe85c; z-index:-1; border-radius:1px; transform:scaleX(0); transform-origin:left center; animation:qnMarker 1.2s cubic-bezier(.22,.61,.36,1) .5s forwards; }
@keyframes qnMarker{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }
@media (prefers-reduced-motion: reduce){ .quicknav .section-title em::after{ animation:none; transform:scaleX(1); } }

/* SOLUTION FOR カードのリスト文字色を黒に（青みがかった濃紺→黒） */
#targets .target-card li,.target-card li{ color:var(--text,#111)!important; }

/* SOLUTION FOR カードを見やすく（リスト文字を少し拡大・行間ゆとり） */
#targets .target-card li{ font-size:14.5px!important; line-height:1.7!important; padding:12px 0 12px 26px!important; }
#targets .target-card li::before{ top:13px!important; font-size:17px!important; }
#targets .target-card p{ font-size:14.5px!important; line-height:1.8!important; }

/* FIND BY USE 青カード：文字を見やすく（タイトル少し大きく・サブ文字を大きめ／色は白系） */
.quicknav__card strong{ font-size:21px!important; font-weight:700!important; color:#ffffff!important; margin-top:18px!important; line-height:1.4!important; }
.quicknav__card span{ font-size:14px!important; font-weight:600!important; color:#dbe6f2!important; margin-top:8px!important; line-height:1.6!important; }

/* COMPARISON：ポリウレア列を際立たせる（オレンジ枠＋見出しで光らせる） */
.comparison table th:last-child{ background:linear-gradient(135deg,#ff8a2a,#ff5400)!important; color:#fff!important; -webkit-text-fill-color:#fff!important; font-weight:900!important; }
.comparison table td:last-child{ background:#eaf2ff!important; color:#0d4a8f!important; font-weight:900!important; }
.comparison table th:last-child,.comparison table td:last-child{ border-left:2px solid #ff7a14!important; border-right:2px solid #ff7a14!important; }
.comparison table thead th:last-child{ border-top:2px solid #ff7a14!important; }
.comparison table tbody tr:last-child td:last-child{ border-bottom:2px solid #ff7a14!important; }

/* WHAT'S POLYUREA：左のチラシ画像を中央からもう少し上へ（PCのみ） */
@media(min-width:769px){ #about .polyurea-visual{ transform:translateY(-28px); } }

/* Y工法ファクトカード：左バーを緑がかったシアン→オレンジ（CTAと同系）に */
.y-method__facts span{ border-left-color:#ff7a14!important; }

/* PROCESS 工程番号をかっこよく（グラデの艶＋Roboto大きめ数字） */
.legacy-process__grid figcaption b{ width:50px!important; height:50px!important; background:linear-gradient(135deg,#3a8cee 0%,#1b63a7 58%,#103f72 100%)!important; font-family:"Roboto","Montserrat",sans-serif!important; font-size:20px!important; font-weight:800!important; letter-spacing:.02em!important; border:1px solid rgba(255,255,255,.28)!important; box-shadow:0 7px 16px rgba(27,99,167,.4),inset 0 1px 0 rgba(255,255,255,.4)!important; }
.legacy-process__grid figcaption strong{ font-size:18.5px!important; }

/* CONTACT(CTA)：キッカーと電話ラベルを白に */
.cta .cta__kicker{ color:#fff!important; -webkit-text-fill-color:#fff!important; }
.cta .cta__phone-label{ color:#fff!important; -webkit-text-fill-color:#fff!important; }

/* FIND BY USE：青背景の上辺を斜めに（左上は上端・右上に向かって下げる） */
.quicknav{ clip-path:polygon(0 0,100% 58px,100% 100%,0 100%); -webkit-clip-path:polygon(0 0,100% 58px,100% 100%,0 100%); padding-top:78px!important; }

/* FIND BY USE：青背景を社長カードの真下まで引き上げる（白い余白を詰める＋少し重ねる） */
.quicknav{ margin-top:-82px!important; }

/* 社長カードを青い斜線の前面に（カード本体のみ前面・斜線は残す） */
.quickdry__quote{ position:relative; z-index:3; }

/* COST 見出しのマーカーを左→右へ流す（疑似要素をtransformで伸ばす） */
.section.cost .section-title em{ position:relative; isolation:isolate; background:none!important; background-image:none!important; animation:none!important; color:#1b63a7!important; -webkit-text-fill-color:#1b63a7!important; }
.section.cost .section-title em::after{ content:""; position:absolute; left:-.05em; right:-.05em; bottom:.05em; height:.48em; background:#ffe85c; z-index:-1; border-radius:1px; transform:scaleX(0); transform-origin:left center; animation:qnMarker 1.2s cubic-bezier(.22,.61,.36,1) .4s forwards; }
@media (prefers-reduced-motion: reduce){ .section.cost .section-title em::after{ animation:none; transform:scaleX(1); } }

/* WHAT'S POLYUREA：「ポリウレアとは を詳しく」ボタンを少し上へ */
#about .more-link{ margin-top:-30px!important; }

/* ポリウレアとは ヒーロー：英語ブランド名「POLYUREA WATERPROOFING」を背景に大きく流す（薄い白・横スクロール） */
.page-hero--brandflow .container{ position:relative; z-index:1; }
.page-hero--brandflow .hero-flow{ position:absolute; top:0; bottom:0; left:0; display:flex; align-items:center; width:max-content; white-space:nowrap; z-index:0; pointer-events:none; user-select:none; will-change:transform; }
.page-hero--brandflow .hero-flow span{ font-family:"Montserrat","Roboto",sans-serif; font-weight:700; font-style:italic; font-size:clamp(72px,13vw,190px); line-height:1; letter-spacing:.09em; color:transparent; -webkit-text-stroke:1.4px rgba(255,255,255,.10); text-stroke:1.4px rgba(255,255,255,.10); transform:translateY(-26px); }

/* ポリウレアとは：チラシ内容をテキスト化（分類表＋特徴データ） */
#polyurea-spec .lead{ max-width:980px; }
.polyurea-spec{ margin-top:30px; }
.polyurea-spec .spec-h{ font-size:20px; color:#083088; font-weight:800; margin:38px 0 14px; padding-left:14px; border-left:5px solid #1b63a7; line-height:1.4; }
.polyurea-spec .spec-lead{ margin:0 0 16px; font-size:14.5px; line-height:1.85; color:#1a2233; }
.polyurea-class{ width:100%; border-collapse:collapse; border:1.5px solid #d4e2f0; border-radius:10px; overflow:hidden; background:#fff; box-shadow:0 10px 28px rgba(8,48,136,.08); }
.polyurea-class th,.polyurea-class td{ padding:13px 18px; font-size:14.5px; text-align:left; border-bottom:1px solid #e7eef6; vertical-align:middle; }
.polyurea-class thead th{ background:linear-gradient(180deg,#1b63a7,#0e3f72); color:#fff; font-weight:700; }
.polyurea-class tbody td:first-child{ background:#eef4fb; font-weight:700; color:#0b1220; width:300px; }
.polyurea-class tbody tr:first-child td{ background:#fff6ea; }
.polyurea-class tbody tr:first-child td:first-child{ background:#ffedd6; }
.polyurea-class tbody tr:first-child strong{ color:#c2410c; }
.polyurea-class tr:last-child td{ border-bottom:none; }
.pf-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px 22px; margin-top:6px; }
.pf-item{ position:relative; display:flex; gap:16px; align-items:center; background:linear-gradient(180deg,#ffffff 0%,#f1f7ff 100%); border:1px solid #dbe7f4; border-radius:12px; padding:16px 18px 16px 22px; box-shadow:0 8px 20px rgba(8,48,136,.07); overflow:hidden; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.pf-item::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:linear-gradient(180deg,#3a8cee,#0e3f72); transition:background .22s ease; }
.pf-item:hover{ transform:translateY(-5px); box-shadow:0 22px 40px rgba(8,48,136,.17); border-color:#bcd4ee; }
.pf-item:hover::before{ background:linear-gradient(180deg,#ff9d3f,#ff7a14); }
.pf-item .pf-label{ flex:0 0 auto; min-width:102px; text-align:center; background:linear-gradient(155deg,#2a74c8 0%,#1b63a7 45%,#0e3f72 100%); color:#fff; font-weight:800; font-size:13.5px; letter-spacing:.04em; padding:11px 12px; border-radius:8px; line-height:1.35; box-shadow:0 6px 14px rgba(14,63,114,.30), inset 0 1px 0 rgba(255,255,255,.28); }
.pf-item p{ margin:0; font-size:14px; line-height:1.75; color:#16202e; font-weight:600; }
.pf-side{ display:flex; flex-direction:column; align-items:center; gap:11px; flex:0 0 auto; }
.pf-ic{ width:74px; height:74px; object-fit:contain; display:block; }
@media(max-width:768px){ .pf-ic{ width:60px; height:60px; } }

/* TOP：ポリウレアの主な特徴 アイコングリッド */
.feat-icons-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:30px 18px; margin-top:34px; }
.feat-icons-grid .fi{ display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center; }
.feat-icons-grid .fi img{ width:120px; height:120px; object-fit:contain; display:block; }
.feat-icons-grid .fi span{ font-size:16px; font-weight:800; color:#0b1220; line-height:1.4; }
@media(max-width:768px){ .feat-icons-grid{ grid-template-columns:repeat(2,1fr); gap:26px 14px; } .feat-icons-grid .fi img{ width:96px; height:96px; } }

/* Y工法ビジュアル：発泡パネル →（施工）→ ポリウレアパネル2種＋説明 */
.y-method__visual .sw-lead{ margin:0 0 14px; color:#fff; font-weight:800; font-size:15.5px; line-height:1.5; text-align:center; }
.y-method__visual .sw-panels{ display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:center; gap:8px 8px; }
.y-method__visual .sw-item{ margin:0; display:flex; flex-direction:column; align-items:center; gap:8px; flex:0 0 auto; }
.y-method__visual .sw-p{ width:128px; height:auto; filter:drop-shadow(0 12px 20px rgba(0,0,0,.4)); }
.y-method__visual .sw-item figcaption{ color:#dbe6f2; font-size:11.5px; font-weight:700; line-height:1.4; text-align:center; }
.y-method__visual .sw-arrow{ color:#ff9d3f; font-size:34px; font-weight:900; line-height:1; margin-top:46px; }
.y-method__visual .sw-note{ margin:16px 0 0; color:#dbe6f2; font-size:13px; line-height:1.7; text-align:center; }
@media(max-width:768px){ .y-method__visual .sw-p{ width:28%; max-width:150px; } .y-method__visual .sw-arrow{ font-size:28px; margin-top:38px; } }

/* Y工法 施工例ギャラリー（共有 main .case-grid と競合するため id 限定で上書き） */
#ymethod-cases .case-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:28px; }
#ymethod-cases .case-grid figure{ margin:0; border-radius:12px; overflow:hidden; box-shadow:0 12px 30px rgba(8,48,136,.14); aspect-ratio:4/3; background:#eef4fb; }
#ymethod-cases .case-grid img{ width:100%; height:100%; object-fit:cover; display:block; }
@media(max-width:900px){ #ymethod-cases .case-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ #ymethod-cases .case-grid{ grid-template-columns:1fr; } }
#ymethod-cases .case-note{ margin:14px 0 0; font-size:12px; color:#5a6675; }

/* トラック荷台 ビフォーアフター（左右比較・実写） */
#truck-ba .ba-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:26px; }
#truck-ba .ba-item{ position:relative; margin:0; }
#truck-ba .ba-item img{ width:100%; height:auto; display:block; border-radius:12px; box-shadow:0 12px 30px rgba(8,48,136,.14); }
#truck-ba .ba-tag{ position:absolute; top:12px; left:12px; z-index:2; color:#fff; font-weight:800; font-size:13px; letter-spacing:.06em; padding:5px 14px; border-radius:6px; }
#truck-ba .ba-tag--before{ background:#5a6675; }
#truck-ba .ba-tag--after{ background:#1b63a7; }
#truck-ba .ba-item figcaption{ margin-top:10px; font-size:13.5px; font-weight:700; color:#1a2233; text-align:center; }
@media(max-width:640px){ #truck-ba .ba-grid{ grid-template-columns:1fr; gap:16px; } }
#truck-ba .ba-note{ margin:14px 0 0; font-size:12px; color:#5a6675; }

/* AI生成画像（generated）に「※イメージ」バッジを一括表示（page-hero-imgは既存注記のため除外） */
:has(> img[src*="/assets/img/generated/"]):not(.page-hero-img){ position:relative; }
:has(> img[src*="/assets/img/generated/"]):not(.page-hero-img)::after{ content:"※イメージ"; position:absolute; right:7px; bottom:7px; background:rgba(11,18,32,.6); color:#fff; font-size:10px; font-weight:700; letter-spacing:.02em; line-height:1.25; padding:2px 7px; border-radius:4px; z-index:3; pointer-events:none; }
.polyurea-spec .spec-note{ margin-top:20px; font-size:12.5px; color:#5a6675; line-height:1.8; }
@media(max-width:768px){ .pf-grid{ grid-template-columns:1fr; } .polyurea-class tbody td:first-child{ width:auto; } .polyurea-class th,.polyurea-class td{ padding:11px 13px; font-size:13.5px; } }

/* ORIGIN（米国生まれ）：背景にアメリカ国旗を薄く敷く */
#origin{ position:relative; overflow:hidden; }
#origin .container{ position:relative; z-index:2; }
#origin .origin-flag{ position:absolute; inset:0; z-index:0; opacity:.14; pointer-events:none; user-select:none; }
#origin .origin-flag svg{ width:100%; height:100%; display:block; }
/* 文字の可読性を保つための白いベール（左ほど薄め・右へ向け軽く透過） */
#origin::after{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(255,255,255,.62) 0%, rgba(255,255,255,.40) 55%, rgba(255,255,255,.28) 100%); pointer-events:none; }

/* MAKER：吉田技工ロゴ＋公式サイト（1次情報）リンク */
.maker-official{ display:inline-flex; align-items:center; gap:24px; margin-top:24px; padding:18px 28px; background:#fff; border:1.5px solid #d4e2f0; border-radius:14px; box-shadow:0 12px 30px rgba(8,48,136,.10); text-decoration:none; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.maker-official:hover{ transform:translateY(-4px); box-shadow:0 22px 44px rgba(8,48,136,.18); border-color:#1b63a7; }
.maker-official img{ width:200px; height:auto; display:block; }
.maker-official__txt{ display:flex; flex-direction:column; gap:3px; }
.maker-official__txt small{ font-size:12px; color:#5a6675; font-weight:700; letter-spacing:.02em; }
.maker-official__txt strong{ font-size:16px; color:#0b1220; font-weight:800; }
.maker-official__txt b{ font-size:13px; color:#1b63a7; font-weight:800; }
@media(max-width:600px){ .maker-official{ flex-direction:column; align-items:flex-start; gap:14px; padding:16px 18px; } .maker-official img{ width:168px; } }
