/* リフォーム専門店いしだ - トップページ専用CSS */

/* ====================================================
   既存テーマCSS完全リセット
   ==================================================== */
html {
  font-size: 16px !important;
  box-sizing: border-box !important;
}
*, *::before, *::after {
  box-sizing: inherit !important;
}
body {
  font-family: 'Zen Maru Gothic', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', sans-serif !important;
  background: #f5f0e8 !important;
  line-height: 1.8 !important;
  font-size: 17px !important;
  letter-spacing: normal !important;
  -webkit-font-smoothing: antialiased !important;
  -webkit-text-size-adjust: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
div, p, span, a, li, ul, ol, dl, dt, dd,
h1, h2, h3, h4, h5, h6,
section, article, aside, nav, header, footer, main,
figure, figcaption, blockquote, pre,
table, tr, td, th, tbody, tfoot, thead,
form, label, input, select, textarea, button,
small, strong, em, b, i, sub, sup {
  letter-spacing: inherit !important;
}
h1, h2, h3, h4, h5, h6 { font-weight: bold !important; }
img { display: block !important; max-width: 100% !important; height: auto !important; }
a { color: inherit !important; text-decoration: none !important; }
a:link { text-decoration: none !important; }
a:visited { text-decoration: none !important; }
a:active { color: inherit !important; text-decoration: none !important; }
/* 特定リンク色の復元 */
.wc-detail-btn { color: var(--c-orange) !important; }
.pc-nav a { color: #fff !important; }
.sp-nav-menu a { color: var(--c-navy) !important; }
.pc-foot-col a, .pc-foot-col li { color: rgba(255,255,255,.75) !important; }
.pc-foot-bottom a { color: rgba(255,255,255,.5) !important; }
.btn-line--ghost { color: var(--c-green) !important; }
.subsidy-detail-btn { color: #fff !important; }
.btn-voice-more { color: var(--c-navy) !important; }
a:hover { opacity: 1 !important; filter: none !important; }
a:hover img { opacity: 1 !important; }

/* NEWS行のレイアウト修正 */
.pc-news-line { opacity: 0 !important; position: absolute !important; inset: 0 !important; }
.pc-news-line.is-active { opacity: 1 !important; transform: translateY(0) !important; }
.pc-news-line .date { font-size: 14px !important; color: var(--c-text-3) !important; font-family: var(--f-num) !important; }
.pc-news-line .cat { font-size: 12px !important; padding: 2px 10px !important; border-radius: 3px !important; }
.pc-news-line .txt { font-size: 15px !important; color: var(--c-text) !important; }
ul, ol { padding: 0 !important; margin: 0 !important; list-style: none !important; }
p { padding: 0; 

}
button { font: inherit !important; cursor: pointer !important; border: 0 !important; background: none !important; color: inherit !important; }
/* voice レイアウト強制 */
.voice-new-layout { display: flex !important; gap: 30px !important; align-items: flex-start !important; }
.voice-right { width: 60% !important; }

.fixnav, #header, #footer, #global-nav, #global-nav-sp, #globalnav-sp-btn { display: none !important; }

/* CTA 強制上書き */
.cta-band { padding: 0 !important; margin: 0 !important; }
.adv-banner { padding: 0 !important; }
.adv-title { font-size: 45px !important; font-family: var(--f-mincho) !important; color: var(--c-navy) !important; line-height: 1.2 !important; }
.adv-title span { color: #fff !important; }
.adv-lead { font-size: 15px !important; color: #fff !important; line-height: 1.6 !important; }
.adv-bar { font-size: 16px !important; color: #fff !important; background: var(--c-navy) !important; padding: 10px 18px !important; }
.adv-tel-num { font-size: 50px !important; font-family: var(--f-num) !important; font-weight: 900 !important; color: var(--c-navy) !important; }
.adv-tel-label { font-size: 14px !important; }
.adv-contact-txt .big { font-size: 20px !important; }
@media screen and (max-width: 1024px) {
  body, div, p, span, a, li, ul, ol, dl, dt, dd,
  h1, h2, h3, h4, h5, h6, section, article, aside, nav,
  header, footer, main, figure, table, tr, td, th,
  form, label, input, select, textarea, button,
  small, strong, em, b, i { font-size: inherit; }
  body { font-size: 17px !important; }
}
/* ==================================================== */

/* pc-head 強制上書き */
.pc-head { text-align: center !important; margin-bottom: 32px !important; }
.pc-head .en { font-size: 35px !important; font-family: var(--f-num) !important; font-style: italic !important; font-weight: 700 !important; color: #c3bdbb !important; letter-spacing: .12em !important; line-height: 1.1 !important; }
.pc-head .jp { font-size: 54px !important; font-family: var(--f-mincho) !important; font-weight: 800 !important; color: var(--c-navy) !important; margin: 6px 0 0 !important; letter-spacing: 0.05em !important; line-height: 1.35 !important; }
.pc-head .jp .accent { color: var(--c-orange-d) !important; }
.pc-head .sub { font-size: 17px !important; color: var(--c-text-3) !important; margin-top: 10px !important; }
.pc-head .rule { display: block !important; width: 40px !important; height: 3px !important; background: var(--c-orange) !important; margin: 5px auto 0 !important; border-radius: 2px !important; }

/* セクション別 pc-head 色上書き */
.pc-section--voice .pc-head .en { color: #fff !important; }
.pc-section--voice .pc-head .jp { color: #fff !important; }
.pc-section--voice .pc-head .jp .accent { color: #ffd84d !important; }
.pc-section--voice .pc-head .sub { color: rgba(255,255,255,.85) !important; }
.pc-section--voice .pc-head .rule { background: rgba(255,255,255,.4) !important; }
.pc-section--reason .pc-head .jp { color: #1c2b3a !important; }
.pc-section--reason .pc-head .jp .accent { color: #64b82b !important; }

/* お客様の声 PC/SP画像切替 */
.voice-sub-img--sp { display: none !important; }
.sp-voice-chart { display: none !important; }



/* =========================================================
   リフォーム専門店いしだ — PC版 (wireframe-faithful)
   ========================================================= */

:root {
  --c-text:     #1a1a1a !important;
  --c-text-2:   #444 !important;
  --c-text-3:   #777 !important;
  --c-bg:       #ffffff !important;
  --c-bg-2:     #f1eeea !important;
  --c-bg-3:     #f1eeea !important;
  --c-border:   #ddd5c3 !important;
  --c-line:     #d4cec7 !important;

  --c-green:    #6db33f !important;
  --c-green-d:  #4f9a2c !important;
  --c-blue:     #2e8fcc !important;
  --c-blue-d:   #1f6fa3 !important;
  --c-red:      #e2543f !important;
  --c-red-d:    #b73e2c !important;
  --c-orange:   #ff7a3d !important;
  --c-orange-d: #e8541b !important;
  --c-yellow:   #ffd84d !important;
  --c-yellow-d: #ffb02e !important;
  --c-navy:     #1c2a3a !important;

  --f-jp:    "メイリオ", "Meiryo", "Noto Sans JP", "Hiragino Sans", sans-serif !important;
  --f-mincho:"Zen Maru Gothic", "メイリオ", "Meiryo", sans-serif !important;
  --f-num:   "Hanken Grotesk", "Inter", system-ui, sans-serif !important;
  --f-mono:  "Hanken Grotesk", ui-monospace, monospace !important;

  --r:    8px !important;
  --r-lg: 14px !important;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--f-jp) !important;
  color: var(--c-text) !important;
  background: var(--c-bg) !important;
  line-height: 1.8 !important;
  font-size: 17px !important;
  -webkit-font-smoothing: antialiased !important;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: 0; background: none; color: inherit; }

.container { 
width: 95% !important;
margin: 0 auto !important; 
padding: 0 0px !important; 

}
.container--works { max-width: 100%; padding: 0 0px; }
.container--voice { max-width: 100%; }
.container--reason { max-width: 1200px; }
.container-wide { max-width: 1320px; margin: 0 auto; padding: 0 32px; }

/* placeholder */
.ph {
  position: relative !important;
  background: transparent !important;
  color: transparent !important;
  font-family: var(--f-mono) !important;
  font-size: 10px !important;
  display: flex !important; align-items: center; justify-content: center;
  text-align: center !important;
  overflow: hidden !important;
}
.ph--dark { background: transparent; }
.ph--warm { background: transparent; }
.ph--g { background: transparent; }
.ph--b { background: transparent; }
.ph__label { background: rgba(255,255,255,.85); padding: 4px 8px; border-radius: 2px; max-width: 85%; }
.ph--dark .ph__label { background: rgba(20,30,45,.7); color: #d9e3f0; }

/* ============== HEADER ============== */
.pc-header {
  position: relative !important;
  z-index: 50 !important;
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.08) !important;
}
/* 1行目: ロゴ + 電話番号 */
.pc-header-top {
  display: flex !important; align-items: center; justify-content: space-between;
  padding: 12px 30px !important;
  /* max-width: 1200px; */
 width: 100% !important;
  margin: 0 auto !important;
  border-bottom: 1px solid var(--c-border) !important;
}
/* 2行目: メニューナビ */
.pc-header-nav-bar {
  background: #64b82b !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 50 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.12) !important;
}
.pc-header-nav-inner {
  display: flex !important; align-items: center; justify-content: center;
  padding: 0 0px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

.pc-header-insta {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important; height: 46px;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #f09433 0%, #e6683c 25%, #ed2b49 50%, #da3c7a 75%, #bc1888 100%) !important;
  color: #fff !important;
  flex-shrink: 0 !important;
  transition: opacity .2s, transform .2s !important;
}
.pc-header-insta:hover { opacity: .85; transform: scale(1.05); }

/* brand wrapper */
.pc-brand-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  flex-shrink: 0 !important;
}
.pc-brand-top-desc {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #000000 !important;
  letter-spacing: .06em !important;
}
.pc-brand-sub-desc {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--c-text-3) !important;
  letter-spacing: .04em !important;
}

.pc-brand { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.pc-brand-mark {
  width: 52px !important; height: 52px; border-radius: 50%;
  background: var(--c-green) !important;
  color: #fff !important;
  display: grid !important; place-items: center;
  font-family: var(--f-num) !important;
  font-size: 22px !important; font-weight: 900;
  letter-spacing: -.5px !important;
  position: relative !important;
}
.pc-brand-name {
  font-family: var(--f-mincho) !important;
  font-size: 27px !important; font-weight: 800;
  color: var(--c-navy) !important;
  line-height: 1.1 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
.pc-brand-name small {
  display: inline !important;
  font-family: var(--f-num) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #353535 !important;
  letter-spacing: .14em !important;
}
.pc-brand-desc {
  display: block !important;
  font-family: var(--f-jp) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--c-text-3) !important;
  letter-spacing: .04em !important;
  margin-top: 4px !important;
  width: 100% !important;
}

/* 電話番号エリア */
.pc-tel-group {
  display: flex !important; flex-direction: row; align-items: center; gap: 16px;
}
.pc-tel-btns {
  display: flex !important; gap: 10px; align-items: center;
}
.pc-tel {
  display: flex !important; align-items: center; gap: 10px;
  background: #ff7a3d !important;
  color: #fff !important;
border-radius: 8px !important;
padding: 10px 20px !important;
line-height: 1.1 !important;
  text-decoration: none !important;
  transition: background .18s, transform .15s, box-shadow .15s !important;
  box-shadow: 0 4px 0 #c45520 !important;
}
.pc-tel:hover { background: #e8541b; transform: translateY(2px); box-shadow: 0 2px 0 #c45520; }
.pc-tel .area {
  font-family: var(--f-jp) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: rgb(255 255 255) !important;
  letter-spacing: .04em !important;
}
.pc-tel .n {
  font-family: var(--f-num) !important;
  font-weight: 900 !important;
  font-size: 28px !important;
  color: #fff !important;
  letter-spacing: .02em !important;
}
.pc-tel-hours {
  font-size: 14px !important;
  color: #000000 !important;
  letter-spacing: .04em !important;
  line-height: 1.6 !important;
  white-space: nowrap !important;
}

/* ナビメニュー */
.pc-nav { 
    CONTAIN-INTRINSIC-BLOCK-SIZE: AUTO 100PX !important;
    display: flex !important;
    gap: 0 !important;
    align-items: center !important;
     }
.pc-nav a {
  display: flex !important; align-items: space-around;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #fff !important;
  padding: 14px 30px !important;
  letter-spacing: .04em !important;
  text-align: center !important;
  border-right: 1px solid rgba(255,255,255,.2) !important;
  transition: background .18s !important;
}
.pc-nav a:first-child { border-left: 1px solid rgba(255,255,255,.2); }
.pc-nav a:hover { display: flex; align-items: space-evenly; background: rgba(0,0,0,.12); }
.pc-nav a.nav-external::after {
  content: " ↗" !important;
  font-size: 16px !important;
  opacity: .8 !important;
}

/* 右固定サイドバナー */
.side-fixed {
  position: fixed !important;
  right: 0 !important; top: 58%;
  transform: translateY(-50%) !important;
  z-index: 100 !important;
  display: flex !important; flex-direction: column;
  gap: 0 !important;
}
.side-fixed a {
  display: block !important;
  line-height: 0 !important;
}
.side-fixed a img {
  display: block !important;
  width: 70px !important;
  height: 241px !important;
  object-fit: cover !important;
}
.side-fixed a.side-line:hover img,
.side-fixed a.side-contact:hover img { opacity: .85; }

/* 旧.pc-btn は削除済みのため残スタイルだけ維持 */
.pc-btn {
  display: inline-flex !important; align-items: center; gap: 8px;
  padding: 12px 22px !important;
  background: var(--c-orange) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: .08em !important;
  border-radius: 6px !important;
  box-shadow: 0 4px 0 var(--c-orange-d) !important;
}
.pc-btn:hover { transform: translateY(1px); box-shadow: 0 2px 0 var(--c-orange-d); }
.pc-btn--line { background: #06c755; box-shadow: 0 4px 0 #04a142; }

/* ============== LOCAL ACHIEVEMENT (地域密着) ============== */
.local-achv-section {
  background: linear-gradient(to bottom, #fff 23%, #4f9a2c 23%) !important;
  display: flex !important;
  justify-content: center !important;
  padding: 0 0 0px !important;
}
.local-achv-banner {
  width: 1300px !important;
  height: 450px !important;
  max-width: 100% !important;
  display: flex !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  margin-top: -40px !important;
}
.local-achv-person {
  position: relative !important;
  width: 320px !important;
  padding-left: 60px !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  z-index: 2 !important;
}
.local-achv-person img {
  width: 100% !important;
  height: auto !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: bottom !important;
}
.local-achv-right {
  flex: 1 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-around !important;
  padding: 0 80px !important;
  margin-left: -60px !important;
  border-radius: 12px 0 0 12px !important;
  position: relative !important;
  z-index: 1 !important;
}
.local-achv-col {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 5px !important;
}
.local-achv-img {
  display: block !important;
  max-width: 100% !important;
  height: auto !important;
}
.local-achv-img--ribbon { width: 100%; }
.local-achv-img--no1 { width: 100%; margin-top: -6px; }
.local-achv-img--badge { width: 260px; }
.local-achv-img--result { width: 100%; margin-top: -10px; }
.local-achv-img--area { /* width: 100%; */ width: 90%; margin-top: -36px; }
.local-achv-note {
  font-family: var(--f-jp) !important;
  font-size: 20px;
  color: #fff !important;
  letter-spacing: .04em !important;
  margin-top: 2px !important;
  opacity: .9 !important;
}

/* ============== SUBSIDY HERO (旧SUBSIDY+HERO COPY統合) ============== */
.subsidy-hero-section {
  position: relative !important;
  padding: 30px 0 60px !important;
  overflow: hidden !important;
}
.subsidy-hero-bg {
  position: absolute !important;
  inset: 0 !important;
  background-image: url('img/new/subsidy-bg.png') !important;
  background-size: contain !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  z-index: -9999 !important;
}
.subsidy-hero-panel {
  position: relative !important;
  z-index: 1 !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  background: #fff !important;
  border-radius: 24px !important;
  padding: 0px 20px 20px !important;
  overflow: hidden !important;
}
.subsidy-hero-heading {
  text-align: center !important;
  margin-bottom: 18px !important;
}
.subsidy-hero-heading img {
  max-width: 100% !important;
  height: auto !important;
  margin: auto !important;
}
.subsidy-hero-desc {
  text-align: center !important;
  font-size: 18px !important;
  font-size: 1.2rem !important;
  color: #222222 !important;
  line-height: 1.5 !important;
  margin-bottom: 20px !important;
}
.subsidy-hero-btn-wrap {
  text-align: center !important;
  margin-top: 10px !important;
}

/* ============== HERO WIDE CARD ============== */
.hero-slide-1w {
  flex: 0 0 100% !important;
  min-width: 100% !important;
  margin-top: 20px !important;
}
.hero-slide-1w--full {
  height: 100% !important;
  margin-top: 0 !important;
}
.hc-wide-full {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 16px !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  text-decoration: none !important;
}
.hc-wide {
  display: grid !important;
  grid-template-columns: 340px 1fr !important;
  background: #ffffff !important;
  border-radius: 16px !important;
  overflow: visible !important;
  border: 2px solid #e8e0d0 !important;
  position: relative !important;
  transition: box-shadow .2s !important;
  text-decoration: none !important;
  color: inherit !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.07) !important;
  min-height: 280px !important;
}
.hc-wide:hover { box-shadow: 0 6px 28px rgba(0,0,0,.12); }
.hc-wide__corner-tag {
  position: absolute !important;
  top: -16px !important; right: 24px;
  background: #ffd84d !important;
  color: var(--c-navy) !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  padding: 4px 20px !important;
  border-radius: 8px !important;
  letter-spacing: .06em !important;
  box-shadow: 0 3px 10px rgba(0,0,0,.13) !important;
  transform: rotate(1.5deg) !important;
  z-index: 5 !important;
}
.hc-wide__photo {
  position: relative !important;
  border-radius: 14px 0 0 14px !important;
  padding: 17px !important;
  background: #ffffff !important;
  overflow: hidden !important;
}
.hc-wide__photo img {
  width: 100% !important; height: 100%;
  object-fit: cover !important;
  display: block !important;
  border-radius: 8px !important;
}
.hc-wide__maker-badge {
  position: absolute !important;
  top: 24px !important; left: 24px;
  background: rgba(255,255,255,.88) !important;
  border-radius: 5px !important;
  padding: 3px 10px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--c-navy) !important;
  letter-spacing: .06em !important;
  backdrop-filter: blur(4px) !important;
  z-index: 2 !important;
}
.hc-wide__body {
  padding: 28px 28px 20px 24px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: auto auto auto auto !important;
  gap: 8px 20px !important;
  position: relative !important;
}
.hc-wide__title-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 18px !important;
  grid-column: 1 / 3 !important;
}
.hc-wide__icon {
  width: 34px !important; height: 34px;
  background: var(--c-orange) !important;
  border-radius: 50% !important;
  display: flex !important; align-items: center; justify-content: center;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  flex-shrink: 0 !important;
}
.hc-wide__title {
  font-family: var(--f-mincho) !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  color: var(--c-navy) !important;
  letter-spacing: .04em !important;
  line-height: 1.3 !important;
}
.hc-wide__specs-block {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  grid-column: 1 / 3 !important;
}
.hc-wide__spec-row {
  display: flex !important; gap: 10px; align-items: baseline;
}
.hc-wide__spec-label {
  font-size: 15px !important; font-weight: 700; color: var(--c-text-3);
  width: 4em !important; flex-shrink: 0;
}
.hc-wide__spec-val {
  font-size: 18px !important; color: var(--c-navy); font-weight: 700;
}
.hc-wide__desc {
  font-size: 14px !important;
  color: #666 !important;
  line-height: 1.75 !important;
  grid-column: 1 / 2 !important;
}
.hc-wide__price-area {
  grid-column: 2 / 3 !important;
  grid-row: 3 / 5 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  gap: 6px !important;
}
.hc-wide__price-left {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px !important;
}
.hc-wide__price-label {
  display: inline-block !important;
  background: var(--c-orange) !important;
  color: #fff !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  padding: 4px 14px !important;
  border-radius: 5px !important;
  letter-spacing: .05em !important;
}
.hc-wide__price-original {
  font-size: 34px !important;
  color: var(--c-text-3) !important;
  text-decoration: line-through !important;
  letter-spacing: .02em !important;
  font-weight: 700 !important;
  padding-left: 4px !important;
}
.hc-wide__price-arrow {
  font-size: 26px !important;
  color: var(--c-orange) !important;
  font-weight: 900 !important;
  align-self: flex-end !important;
  margin-bottom: 8px !important;
  letter-spacing: -.1em !important;
}
.hc-wide__price-after {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}
.hc-wide__price-main {
  display: flex !important;
  align-items: baseline !important;
  gap: 0 !important;
  line-height: 1 !important;
}
.hc-wide__price-yaku {
  font-size: 34px !important;
  font-weight: 800 !important;
  color: var(--c-orange) !important;
  margin-right: 2px !important;
}
.hc-wide__pnum {
  font-family: var(--f-num) !important;
  font-size: 135px !important;
  font-weight: 900 !important;
  color: var(--c-orange) !important;
  line-height: 1 !important;
  letter-spacing: -.03em !important;
  text-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff !important;
}
.hc-wide__punit {
  font-family: var(--f-mincho) !important;
  font-size: 45px !important;
  font-weight: 800 !important;
  color: var(--c-navy) !important;
  margin-left: 4px !important;
  align-self: flex-end !important;
  margin-bottom: 15px !important;
}
.hc-wide__price-note {
  font-size: 16px !important;
  color: var(--c-text-3) !important;
  margin-top: 3px !important;
}

/* ============== HERO ============== */
.pc-hero {
  background: #fefcf4 !important;
  padding: 5px 0 10px !important;
  position: relative !important;
  overflow: hidden !important;
}

/* カードスライダー */
.hero-slider {
  max-width: 1500px !important;
  width: 92% !important;
  height: 600px !important;
  margin: 0 auto !important;
  margin-top: 10px !important;
  padding: 0px 64px 0 !important;
  position: relative !important;
  overflow: visible !important;
}
.hero-slider-arrow {
  position: absolute !important;
  top: 50% !important; transform: translateY(-50%);
  z-index: 10 !important;
  width: 48px !important; height: 48px;
  border-radius: 50% !important;
  background: #fff !important;
  border: 2px solid var(--c-border) !important;
  font-size: 26px !important;
  line-height: 1 !important;
  color: var(--c-navy) !important;
  display: flex !important; align-items: center; justify-content: center;
  cursor: pointer !important;
  transition: background .2s, border-color .2s, color .2s !important;
  padding: 0 0 2px 0 !important;
}
.hero-slider-arrow:hover { background: var(--c-orange); border-color: var(--c-orange); color: #fff; }
.hero-slider-arrow--prev { left: 4px; }
.hero-slider-arrow--next { right: 4px; }

.hero-slider-viewport { overflow-x: hidden; overflow-y: visible; height: 100%; }
.hero-slider-track {
  display: flex !important;
  gap: 24px !important;
  height: 100% !important;
  transition: transform .45s cubic-bezier(.4,0,.2,1) !important;
}

/* スライド1: 3枚均等 */
.hero-slide-3 {
  display: flex !important;
  gap: 20px !important;
  flex: 0 0 96% !important;
  min-width: 96% !important;
  height: auto !important;
  margin-top: 20px !important;
}
.hero-slide-3 .hc {
  flex: 0 0 calc((100% - 40px) / 3) !important;
  min-width: 0 !important;
}
/* スライド2・3: 1枚フル */
.hero-slide-1 {
  flex: 0 0 100% !important;
  min-width: 100% !important;
}

/* ===== カード本体 ===== */
.hc {
  background: #fff !important;
  border-radius: 12px !important;
  overflow: visible !important;
  border: 2px solid #e8e0d0 !important;
  display: flex !important; flex-direction: column;
  transition: transform .2s !important;
  flex: 1 !important;
}
.hc:hover { transform: translateY(-4px); }

/* カードヘッダー（番号＋タイトル＋メーカー名）*/
.hc__head {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 2px 8px 0 !important;
  overflow: visible !important;
  position: relative !important;
}
.hc__head-text {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.hc__num {
  display: block !important;
  width: 100px !important; height: 100px;
  flex-shrink: 0 !important;
  object-fit: contain !important;
  position: relative !important;
  margin-top: -20px !important;
  margin-right: 5px !important;
  z-index: 10 !important;
}
.hc__title {
  font-family: var(--f-mincho) !important;
  font-size: 30px !important;
  font-size: 1.7em !important;
  font-weight: 700 !important;
  color: var(--c-navy) !important;
  letter-spacing: .04em !important;
  line-height: 1.2 !important;
}
.hc__product-name {
  font-family: var(--f-mincho) !important;
  font-size: 22px !important;
  font-size: 1.3em !important;
  font-weight: 700 !important;
  color: #000000 !important;
  letter-spacing: .1em !important;
  line-height: 1.2 !important;
  margin: 10px 14px 14px !important;
  text-align: center !important;
}
.hc__maker {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  width: 100px !important;
  height: 40px !important;
  z-index: 5 !important;
  object-fit: contain !important;
  display: block !important;
  pointer-events: none !important;
}

/* サムネイル wrapper */
.hc__thumb-wrap {
  position: relative !important;
  margin: 0 0px !important;
  border-radius: 0px !important;
  overflow: hidden !important;
  display: block !important;
}
/* サムネイル */
.hc__thumb {
  width: 100% !important;
  aspect-ratio: 4/3 !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 仕様タグ — 写真内右上に常時オーバーレイ */
.hc__specs {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 8px !important;
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 5 !important;
  margin-top: 0 !important;
  pointer-events: none !important;
}
.hc__spec-tag {
  border: none !important;
  border-radius: 4px !important;
  padding: 3px 8px !important;
  font-size: 18px !important;
  color: #fff !important;
  text-align: center !important;
  font-weight: 700 !important;
  background: rgba(0,0,0,.55) !important;
  backdrop-filter: blur(4px) !important;
  white-space: nowrap !important;
}

/* 価格エリア */
.hc__price-row {
  display: flex !important;
  align-items: center !important;
  gap: 0px !important;
  padding: 5px 10px 5px !important;
  justify-content: center !important;
  z-index: 2 !important;
  position: relative !important;
  margin-top: -20px !important;
  overflow: visible !important;
}
.hc__price-badge {
  flex-shrink: 0 !important;
  width: 140px !important; height: 140px;
  display: block !important;
  object-fit: contain !important;
  margin-left: -30px !important;
}
.hc__price-main {
  display: flex !important; align-items: center; gap: 2px;
  justify-content: space-around !important;
  font-family: var(--f-num) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}
.hc__price-main .pnum {
  font-size: 125px !important;
  margin-left: -5px !important;
  color: #db0a12 !important;
  letter-spacing: -.03em !important;
  text-shadow: 5px 4px 0 #d5d5d5, 3px 3px 0 #fff, -3px 3px 0 #fff, 3px 3px 0 #fff, 3px 0 0 #fff, 3px 0 0 #fff, 0 3px 0 #fff, 0 3px 0 #fff !important;
}
.hc__price-main .pdot { font-size: 58px; color: #db0a12; text-shadow: 5px 4px 0 #d5d5d5, 3px 3px 0 #fff, -3px 3px 0 #fff, 3px 3px 0 #fff, 3px 0 0 #fff, 3px 0 0 #fff, 0 3px 0 #fff, 0 3px 0 #fff; }
.hc__price-main .pdec {
  font-size: 100px !important;
  color: #de090f !important;
  text-shadow: 5px 4px 0 #d5d5d5, 3px 3px 0 #fff, -3px 3px 0 #fff, 3px 3px 0 #fff, 3px 0 0 #fff, 3px 0 0 #fff, 0 3px 0 #fff, 0 3px 0 #fff !important;
}
.hc__price-main .punit {
  font-family: var(--f-jp) !important;
  font-size: 20px !important;
  color: #db0a12 !important;
  font-weight: 700 !important;
  margin-left: 2px !important;
}
.hc__price-main .pyaku {
  font-family: var(--f-jp) !important;
  font-size: 25px !important;
  font-size: 1.5rem !important;
  color: #db0a12 !important;
  font-weight: 700 !important;
  margin-right: 2px !important;
}
.hc__price-tax {
  font-size: 14px !important;
  font-size: 0.9rem !important;
  color: #000000 !important;
  margin-top: -4px !important;
}

/* フル幅スライド用に価格を大きく */
.hero-slide-1 .hc__title { font-size: 32px; }
.hero-slide-1 .hc__num { width: 90px; height: 95px; }
.hero-slide-1 .hc__price-main .pnum { font-size: 100px; }
.hero-slide-1 .hc__price-main .pdot { font-size: 60px; }
.hero-slide-1 .hc__price-main .pdec { font-size: 74px; }
.hero-slide-1 .hc__price-main .punit { font-size: 28px; }
.hero-slide-1 .hc__price-badge { width: 135px; height: 135px; }
.hero-slide-1 .hc__specs { grid-template-columns: repeat(4, 1fr); }
.hero-slide-1 .hc__thumb { aspect-ratio: 16/7; }

/* ドット */
.hero-slider-dots {
  display: flex !important; justify-content: center; gap: 8px;
  margin-top: 12px !important;
}
.hero-slider-dots .dot {
  width: 10px !important; height: 10px;
  border-radius: 50% !important;
  background: var(--c-border) !important;
  border: none !important;
  cursor: pointer !important;
  transition: background .2s, transform .2s !important;
  padding: 0 !important;
}
.hero-slider-dots .dot.is-active {
  background: var(--c-orange) !important;
  transform: scale(1.25) !important;
}

/* ============== HERO SLIDER 2 (Lineup上コピー専用) ============== */
.hero-slider2 {
  max-width: 1200px;
  margin: 0 auto !important;
  padding: 0px 64px 0;
  position: relative !important;
  overflow: visible !important;
}
.hero-slider2-arrow {
  position: absolute !important;
  top: 50% !important; transform: translateY(-50%);
  z-index: 10 !important;
  width: 48px !important; height: 48px;
  border-radius: 50% !important;
  background: #fff !important;
  border: 2px solid var(--c-border) !important;
  font-size: 26px !important;
  line-height: 1 !important;
  color: var(--c-navy) !important;
  display: flex !important; align-items: center; justify-content: center;
  cursor: pointer !important;
  transition: background .2s, border-color .2s, color .2s !important;
  padding: 0 0 2px 0 !important;
}
.hero-slider2-arrow:hover { background: var(--c-orange); border-color: var(--c-orange); color: #fff; }
.hero-slider2-arrow--prev { left: 4px; }
.hero-slider2-arrow--next { right: 4px; }

.hero-slider2-viewport { overflow-x: hidden; overflow-y: visible; }
.hero-slider2-track {
  display: flex !important;
  gap: 10px !important;
  padding-top: 24px !important;
  transition: transform .45s cubic-bezier(.4,0,.2,1) !important;
}
.hero-slider2-track > .hc {
  flex: 0 0 calc((100% - 20px) / 3) !important;
  min-width: 0 !important;
}
.hero-slider2-dots {
  display: flex !important; justify-content: center; gap: 8px;
  margin-top: 22px !important;
}
.hero-slider2-dots .dot {
  width: 10px !important; height: 10px;
  border-radius: 50% !important;
  background: var(--c-border) !important;
  border: none !important;
  cursor: pointer !important;
  transition: background .2s, transform .2s !important;
  padding: 0 !important;
}
.hero-slider2-dots .dot.is-active {
  background: var(--c-orange) !important;
  transform: scale(1.25) !important;
}

/* Hero ダミーカード */
.hc--dummy {
  border: 2px dashed var(--c-border) !important;
  background: #faf8f4 !important;
  box-shadow: none !important;
}
.hc--dummy:hover { transform: none; }
.hc--dummy-inner {
  width: 100% !important; height: 100%;
  display: flex !important; align-items: center; justify-content: center;
  font-family: var(--f-mincho) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--c-text-3) !important;
  letter-spacing: .1em !important;
}

/* Hero デコレーション画像 */
.hero-deco {
  display: block !important;
  width: 100% !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
  pointer-events: none !important;
}
.hero-deco--top {
    height: 140px !important;
    object-fit: contain !important;
    width: 1500px !important;
    margin-bottom: -10px !important;
    background-image: url('img/new/hero-deco-top_1500.png') !important;
}
.hero-deco--bottom {
  height: 64px !important;
  object-fit: cover !important;
  margin-top: 12px !important;
}

.scroll-cue::after {
  content: "" !important; width: 1px; height: 40px;
  background: linear-gradient(to bottom, #fff, transparent) !important;
}

/* ============== NEWS bar ============== */
.pc-news {
  background: #fff !important;
  border-bottom: 1px solid var(--c-border) !important;
}
.pc-news-inner {
  width: 90% !important;
  margin: 0 auto !important;
  display: flex !important; align-items: center;
  padding: 20px 50px !important;
  gap: 32px !important;
}
.pc-news-label {
  background: #ff4646 !important;
  color: #fff !important;
  font-family: var(--f-num) !important; font-style: italic;
  font-weight: 800 !important;
  font-size: 35px !important;
  padding: 10px 22px !important;
  letter-spacing: .08em !important;
  border-radius: 4px !important;
  flex-shrink: 0 !important;
}
.pc-news-ticker {
  position: relative !important;
  flex: 1 !important; height: 28px;
  overflow: visible !important;
}
.pc-news-line {
  position: absolute !important; inset: 0;
  display: flex !important; align-items: center; gap: 18px;
  opacity: 0 !important;
  transform: translateY(6px) !important;
  transition: opacity .5s, transform .5s !important;
  white-space: nowrap !important;
}
.pc-news-line.is-active { opacity: 1; transform: translateY(0); }
.pc-news-line .date {
  font-family: var(--f-num) !important;
  font-size: 16px !important;
  color: var(--c-text-3) !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
}
.pc-news-line .cat {
  font-size: 15px !important;
  padding: 3px 10px !important;
  border-radius: 999px !important;
  background: #fff1e3 !important;
  color: var(--c-orange-d) !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
}
.pc-news-line .cat--info { background: #dee7f0; color: var(--c-navy); }
.pc-news-line .cat--event { background: #e3ecdd; color: var(--c-green-d); }
.pc-news-line .txt {
  font-size: 17px !important; color: var(--c-text);
}
.pc-news-more {
  font-family: var(--f-num) !important; font-style: italic;
  font-size: 12px !important;
  color: var(--c-text-2) !important;
  letter-spacing: .08em !important;
}

/* ============== SUBSIDY BURST + Stats ============== */
.subsidy-strip {
  background: #fff !important;
  padding: 44px 0 !important;
  position: relative !important;
  overflow: hidden !important;
}
.subsidy-strip::before { content: none; }
.subsidy-strip::after { content: none; }
.subsidy-grid {
  position: relative !important; z-index: 2;
  display: grid !important;
  grid-template-columns: 1.4fr 1fr 1fr !important;
  gap: 28px !important;
  align-items: stretch !important;
}

.subsidy-card {
  background: #ffe5e5 !important;
  border-radius: 14px !important;
  padding: 28px 32px !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: none !important;
  border: 2px solid var(--c-border) !important;
  color: #1a1a1a !important;
}
.subsidy-card .tag {
  display: unset !important;
  background: var(--c-red) !important;
  color: #fff !important;
  font-size: 33px !important;
  font-weight: 700 !important;
  padding: 7px 14px 3px !important;
  border-radius: 40px !important;
  letter-spacing: .14em !important;
  margin-bottom: 10px !important;
}
.subsidy-card .year {
  font-family: var(--f-num) !important;
  font-weight: 900 !important;
  font-size: 45px !important;
  line-height: 1 !important;
  color: #e2543f !important;
  letter-spacing: -.02em !important;
  margin-top: 10px !important;
}
.subsidy-card .headline {
  font-family: var(--f-mincho) !important;
  font-size: 42px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  line-height: 1.1 !important;
  letter-spacing: .04em !important;
  margin: 6px 0 12px !important;
}
.subsidy-card .headline .big {
  display: inline-block !important;
  font-size: 50px !important;
  color: #e2543f !important;
  vertical-align: -2px !important;
  margin: 0 2px !important;
}
.subsidy-card .desc {
  font-size: 17px !important;
  color: #1a1a1a !important;
  line-height: 1.5 !important;
}
.subsidy-detail-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 14px !important;
  background: #fd3214 !important;
  color: #fff !important;
  font-family: var(--f-mincho) !important;
  font-size: 22px !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  padding: 10px 22px !important;
  border-radius: 6px !important;
  letter-spacing: .06em !important;
  transition: background .2s, transform .15s !important;
}
.subsidy-detail-btn:hover {
  background: var(--c-orange-d) !important;
  transform: translateY(-1px) !important;
}
.subsidy-card .burst {
  position: absolute !important;
  width: 180px !important; height: 180px;
  top: 14px !important; left: 10px;
  border-radius: 50% !important;
  background: var(--c-red) !important;
  color: #fff !important;
  display: grid !important; place-items: center;
  font-family: var(--f-num) !important;
  font-weight: 800 !important;
  font-size: 26px !important;
  text-align: center !important;
  line-height: 1.15 !important;
  transform: rotate(-8deg) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.15) !important;
}
.subsidy-card .burst::before, .subsidy-card .burst::after {
  content: "" !important; position: absolute; inset: 0;
  border-radius: 50% !important;
  border: 2px dashed rgba(255,255,255,.5) !important;
  animation: spin 16s linear infinite !important;
}
.subsidy-card .burst::after { animation-direction: reverse; animation-duration: 22s; inset: -7px; border-style: dotted; opacity: .4; }
@keyframes spin { to { transform: rotate(360deg); } }
.subsidy-card .burst .big {
  display: block !important; font-size: 80px; line-height: 0;
  margin: 0px 0 !important;
}

.stat-card {
  background: transparent !important;
  border-radius: 14px !important;
  padding: 26px 24px !important;
  text-align: center !important;
  display: flex !important; flex-direction: column; align-items: center;
  border: 2px solid var(--c-border) !important;
  box-shadow: none !important;
  color: #1a1a1a !important;
}
.stat-card .en {
  font-family: var(--f-num) !important;
  font-style: italic !important;
  font-size: 18px !important;
  color: var(--c-orange) !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
}
.stat-card .jp {
  font-family: var(--f-mincho) !important;
  font-size: 33px !important;
  font-weight: 700 !important;
  line-height: 1.3em !important;
  color: #1a1a1a !important;
  margin: 4px 0 10px !important;
  letter-spacing: .04em !important;
}
.no1-badge {
  width: 130px !important; height: 130px;
  border-radius: 50% !important;
  background: #fff !important;
  border: 3px solid var(--c-red) !important;
  display: grid !important; place-items: center;
  text-align: center !important; line-height: 1.1;
  position: relative !important;
  margin: 4px 0 !important;
}
.no1-badge::before {
  content: "" !important;
  position: absolute !important; inset: -8px;
  border-radius: 50% !important;
  border: 1px dashed var(--c-red) !important;
  opacity: .6 !important;
}
.no1-badge .crown {
  position: absolute !important; top: -12px; left: 50%; transform: translateX(-50%);
  font-size: 22px !important;
}
.no1-badge .ja {
  font-family: var(--f-mincho) !important;
  font-size: 13px !important;
  color: var(--c-navy) !important;
  font-weight: 700 !important;
}
.no1-badge .num {
  font-family: var(--f-num) !important;
  font-style: italic !important;
  font-size: 44px !important;
  font-weight: 900 !important;
  color: var(--c-red-d) !important;
  line-height: 1 !important;
  margin-top: 4px !important;
}
.big-stat {
  display: flex !important; align-items: baseline; gap: 4px;
  font-family: var(--f-num) !important;
  font-weight: 900 !important;
  margin-top: 4px !important;
  justify-content: center !important;
}
.big-stat .num {
  font-size: 93px !important;
  line-height: 1 !important;
  color: #e2543f !important;
  letter-spacing: -.03em !important;
}
.big-stat .unit {
  font-family: var(--f-jp) !important;
  font-size: 30px !important;
  color: rgb(45 45 45) !important;
  font-weight: 800 !important;
}
.stat-foot {
  font-size: 20px !important;
  color: var(--c-text-3) !important;
  margin-top: 8px !important;
}

/* ============== SECTIONS COMMON ============== */
.pc-section { padding: 50px 5% 60px; background: #fff; }
.pc-section--alt { background: var(--c-bg-3); }
.pc-section--voice {
  background-color: #54b4ff !important;
  background-image: url('img/new/voice-main.png') !important;
background-size: 460px !important;
background-position: left center !important;
background-position-x: 10% !important;
background-position-y: 60% !important;
  background-repeat: no-repeat !important;
  overflow: visible !important;
}
.pc-section--voice .pc-head .en { color: #fff; }
.pc-section--voice .pc-head .jp { color: #fff; }
.pc-section--voice .pc-head .jp .accent { color: #ffd84d; }
.pc-section--voice .pc-head .sub { color: rgba(255,255,255,.85); }
.pc-section--voice .pc-head .rule {
  margin-top: 5px !important; background: rgba(255,255,255,.4) !important; }
.pc-section--dark { background: var(--c-navy); color: #fff; }
.pc-section--reason { background: #ffd84d; }
.pc-section--reason .pc-head .en { color: #ffffff; }
.pc-section--reason .pc-head .jp { color: #1c2b3a; }
.pc-section--reason .pc-head .jp .accent { color: #64b82b; }
.pc-section--reason .pc-head .sub { color: #323232; }
.pc-section--reason .pc-head .rule {
  margin-top: 5px !important; background: rgba(255,255,255,.6) !important; }

.pc-head { text-align: center; margin-bottom: 20px; }
.pc-head .en {
  font-family: var(--f-num) !important;
  font-style: italic !important;
  font-size: 35px !important;
  letter-spacing: .12em !important;
  color: #c3bdbb !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
}
.pc-head .jp {
  font-family: var(--f-mincho) !important;
  font-size: 54px !important;
  font-weight: 800 !important;
  color: var(--c-navy) !important;
  margin: 6px 0 0 !important;
  letter-spacing: 0.05em !important;
  line-height: 1.35 !important;
}
.pc-head .jp .accent { color: var(--c-orange-d); }
.pc-head .sub {
  font-size: 17px !important;
  font-size: 1.1rem !important;
  color: var(--c-navy) !important;
  margin-top: 12px !important;
  letter-spacing: .04em !important;
}
.pc-head .rule {
  margin-top: 5px !important; display: inline-block !important; width: 2px !important; height: 15px !important; background: #a5a5a5 !important; margin-top: 16px !important; }

.btn-line {
  display: inline-flex !important; align-items: center; gap: 10px;
  padding: 16px 36px !important;
  background: var(--c-navy) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 19px !important;
  letter-spacing: .1em !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 0 #0d1722 !important;
}
.btn-line--ghost {
  background: transparent !important;
  color: #000000 !important;
  border: 1.5px solid #5e5e5e !important;
  box-shadow: none !important;
}
.btn-line:hover { transform: translateY(1px); }

/* ============== LINEUP ============== */
.lineup-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.l-card {
  background: #fff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid var(--c-border) !important;
  position: relative !important;
  transition: transform .25s, box-shadow .25s !important;
  display: flex !important;
  flex-direction: column !important;
}
.l-card:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(0,0,0,.1); }
.l-card .ph { aspect-ratio: 4/3; font-size: 12px; }
.l-card__tab {
  position: absolute !important;
  top: 0 !important; left: 0;
  background: var(--c-green) !important;
  color: #fff !important;
  font-family: var(--f-mincho) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  padding: 7px 18px !important;
  border-bottom-right-radius: 8px !important;
  letter-spacing: .08em !important;
  z-index: 2 !important;
}
.l-card__tab--g { background: var(--c-green); }
.l-card__tab--b { background: var(--c-blue); }
.l-card__tab--r { background: var(--c-red); }
.l-card__tab--o { background: var(--c-orange); }
.l-card__tab--n { background: var(--c-navy); }
.l-card__price--inquiry { background: transparent; }
.inquiry-text { font-size: 20px; font-weight: 700; color: var(--c-red-d); }
.l-card__body {
  padding: 5px 12px 0 !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}
.l-card__name {
  font-family: var(--f-mincho) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--c-navy) !important;
  letter-spacing: .01em !important;
  line-height: 1.5 !important;
  min-height: 3em !important;
  display: flex !important;
  align-items: center !important;
}
.l-card__sub {
  font-size: 14px !important;
  color: var(--c-text-3) !important;
  margin: 3px 0 4px !important;
  line-height: 1.5 !important;
  min-height: calc(1.5em * 2) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  flex: 1 !important;
}
.l-card__price {
  display: flex !important; align-items: center; gap: 5px;
  justify-content: center !important;
  background: #fff !important;
  margin: 0 !important;
  padding: 8px 8px !important;
  border-top: 1px dashed var(--c-line) !important;
  font-family: var(--f-num) !important;
  font-weight: 800 !important;
  margin-top: auto !important;
}
.l-card__price .pre {
  display: inline-flex !important; align-items: center;
  font-family: var(--f-jp) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  letter-spacing: .08em !important;
  margin-right: auto !important;
  flex-shrink: 0 !important;
}
.l-card__price .pre--normal {
  background: var(--c-orange) !important;
  color: #fff !important;
}
.l-card__price .pre--subsidy {
  background: var(--c-green) !important;
  color: #fff !important;
}
.l-card__price .num {
  font-size: 45px !important;
  color: var(--c-red-d) !important;
  line-height: 1 !important;
  letter-spacing: -.03em !important;
}
.l-card__price .unit {
  font-family: var(--f-jp) !important;
  font-size: 15px !important;
  color: var(--c-text-2) !important;
  font-weight: 700 !important;
}

/* ============== CTA BAND ============== */
.cta-band {
  background: var(--c-orange) !important;
  color: #fff !important;
  padding: 0 !important;
  position: relative !important;
  overflow: visible !important;
}
.cta-band::before, .cta-band::after { display: none; }

/* アドバイザーバナー 新レイアウト */
.adv-banner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 120px 1fr 240px !important;
  min-height: 200px !important;
  position: relative !important;
  overflow: visible !important;
}

/* 左スタッフ画像 — 上に50pxはみ出す */
.adv-staff-left {
  position: relative !important;
  align-self: stretch !important;
  overflow: visible !important;
  width: 250px !important;
  margin-left: -50px !important;
}
.adv-staff-left img {
  width: 100% !important;
  height: calc(100% + 50px) !important;
  object-fit: cover !important;
  object-position: top center !important;
  display: block !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
}

/* 中央コンテンツ */
.adv-center {
  padding: 10px 28px 30px !important;
  display: inline-block !important;
  flex-direction: column !important;
  gap: 4px !important;
}
.adv-lead {
  font-size: 20px !important;
  font-weight: 600 !important;
  opacity: .95 !important;
  letter-spacing: .04em !important;
}
.adv-title {
  font-family: var(--f-mincho) !important;
  font-size: 40px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  color: #fff500 !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.15) !important;
}
.adv-bar {
  background: #1a1a1a !important;
  color: #fff !important;
  font-size: 14px !important;
 font-size: 0.8rem !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
  letter-spacing: .06em !important;
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}
.adv-tel-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
  margin-top: 4px !important;
}
.adv-tel-block {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  flex-direction: column !important;
}
.adv-tel-main {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  z-index: 10 !important;
}
.adv-tel-img {
  width: 90px !important;
  height: 100px !important;
  object-fit: cover !important;
  display: block !important;
  flex-shrink: 0 !important;
  border-radius: 6px !important;
}
.adv-tel-btn {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: #fff !important;
  color: var(--c-orange) !important;
  border-radius: 999px !important;
  padding: 12px 18px !important;
  font-family: var(--f-mincho) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  flex: 1 !important;
  justify-content: center !important;
  box-shadow: 0 3px 0 rgba(0,0,0,.15) !important;
  transition: transform .15s, box-shadow .15s !important;
}
.adv-tel-btn:hover { transform: translateY(1px); box-shadow: 0 1px 0 rgba(0,0,0,.15); }
.adv-tel-btn .tel-ic {
  font-size: 22px !important;
  background: var(--c-orange) !important;
  color: #fff !important;
  width: 36px !important; height: 36px;
  border-radius: 50% !important;
  display: flex !important; align-items: center; justify-content: center;
  flex-shrink: 0 !important;
}
.adv-tel-num {
  font-family: var(--f-num) !important;
  font-weight: 900 !important;
  font-size: 40px !important;
  line-height: 0.3 !important;
  color: #fff !important;
  letter-spacing: .04em !important;
  text-align: right !important;
  position: relative !important;
  z-index: 10 !important;
}

/* 右サイド: お問い合わせ窓口 */
.adv-right {
  padding: 15px 5px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  position: static !important;
  overflow: hidden !important;
}
.adv-right-ttl {
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-align: center !important;
  opacity: .9 !important;
  margin-bottom: -2px !important;
  background-color: #ff7a3d !important;
}
.adv-contact-btn {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  background: #fff !important;
  border-radius: 10px !important;
  padding: 14px 16px !important;
  box-shadow: 0 3px 0 rgba(0,0,0,.15) !important;
  transition: transform .15s !important;
}
.adv-contact-btn:hover { transform: translateY(1px); }
.adv-contact-ic {
  width: 44px !important; height: 44px;
  border-radius: 50% !important;
  display: flex !important; align-items: center; justify-content: center;
  font-size: 30px !important;
  font-weight: 900 !important;
  flex-shrink: 0 !important;
  color: #fff !important;
}
.adv-contact-ic--mail { background: #4d9de0; }
.adv-contact-ic--line { background: transparent; font-size: 17px; }
.adv-contact-txt .small {
  font-size: 11px !important;
  color: var(--c-text-3) !important;
  letter-spacing: .12em !important;
  font-weight: 700 !important;
  display: block !important;
}
.adv-contact-txt .big {
  font-size: 18px !important;
  font-weight: 800 !important;
  color: var(--c-navy) !important;
  letter-spacing: .04em !important;
}

/* 旧スタイル互換（2枚目CTA流用のため残す） */
.cta-band-inner {
  position: relative !important; z-index: 2;
  display: grid !important;
  grid-template-columns: auto 1fr 1.6fr !important;
  gap: 32px !important;
  align-items: center !important;
  padding: 56px 32px !important;
  max-width: 1300px !important;
  margin: 0 auto !important;
}
.cta-band-pre {
  display: inline-block !important;
  background: rgba(255,255,255,.22) !important;
  padding: 4px 14px !important;
  border-radius: 999px !important;
  font-size: 15px !important;
  letter-spacing: .12em !important;
  font-weight: 600 !important;
}
.cta-band-title {
  font-family: var(--f-mincho) !important;
  font-size: 37px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .05em !important;
  margin: 8px 0 10px !important;
}
.cta-band-desc {
  font-size: 18px !important;
  line-height: 1.85 !important;
  opacity: .95 !important;
  font-weight: 500 !important;
}
.cta-people-row {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}
.cta-person {
  width: 84px !important; height: 84px;
  border-radius: 50% !important;
  border: 3px solid #fff !important;
  margin-left: -16px !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  font-size: 8px !important;
}
.cta-person:first-child { margin-left: 0; }
.cta-actions {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr 1fr !important;
  gap: 10px !important;
}
.cta-actions a {
  background: #fff !important;
  color: var(--c-navy) !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  display: flex !important; align-items: center; gap: 12px;
  box-shadow: 0 4px 0 rgba(0,0,0,.18) !important;
}
.cta-actions .ic {
  width: 38px !important; height: 38px;
  border-radius: 50% !important;
  background: var(--c-orange) !important;
  color: #fff !important;
  display: grid !important; place-items: center;
  flex-shrink: 0 !important;
  font-size: 17px !important;
}
.cta-actions .ic.line { background: #06c755; }
.cta-actions .ic.mail { background: var(--c-blue); }
.cta-actions .l { font-size: 10px; color: var(--c-text-3); letter-spacing: .12em; }
.cta-actions .v {
  font-family: var(--f-num) !important;
  font-weight: 800 !important;
  font-size: 22px !important;
  color: var(--c-navy) !important;
  letter-spacing: .02em !important;
  line-height: 1.1 !important;
}
.cta-actions .v.small { font-family: var(--f-jp); font-size: 15px; }

/* ============== WORKS / 施工事例 ============== */
.works-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}
.w-card {
  background: #fff !important;
  border-radius: 10px !important;
  border: 1px solid var(--c-border) !important;
  overflow: hidden !important;
  transition: transform .2s !important;
}
.w-card:hover { transform: translateY(-3px); }
.w-card .ph { aspect-ratio: 4/3; }
.w-card__body { padding: 14px 16px 16px; }
.w-card__chips {
  display: flex !important; gap: 6px; align-items: center;
  font-size: 10px !important;
  color: var(--c-text-3) !important;
  margin-bottom: 6px !important;
}
.w-card__chips .chip {
  background: var(--c-bg-2) !important;
  color: var(--c-navy) !important;
  padding: 2px 8px !important;
  border-radius: 3px !important;
  font-weight: 700 !important;
}
.w-card__title {
  font-family: var(--f-mincho) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--c-navy) !important;
  line-height: 1.5 !important;
  letter-spacing: .02em !important;
}
.w-card__solve {
  font-size: 11px !important;
  color: var(--c-text-2) !important;
  background: #fff5ec !important;
  border-left: 2px solid var(--c-orange) !important;
  padding: 6px 10px !important;
  margin-top: 10px !important;
  line-height: 1.6 !important;
}
.w-card__solve .lbl {
  display: inline-block !important;
  font-weight: 800 !important;
  color: var(--c-orange-d) !important;
  margin-right: 4px !important;
}
.w-card__foot {
  display: flex !important; justify-content: space-between; align-items: baseline;
  margin-top: 10px !important;
  padding-top: 10px !important;
  border-top: 1px dashed var(--c-line) !important;
  font-size: 11px !important;
  color: var(--c-text-3) !important;
}
.w-card__foot .price {
  font-family: var(--f-num) !important;
  font-weight: 800 !important;
  font-size: 17px !important;
  color: var(--c-red-d) !important;
}

/* ============== VOICE 新レイアウト ============== */
.voice-new-layout {
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: 16px !important;
  overflow: visible !important;
}

/* 左: pc-section--voice の背景画像として表示（この要素は非表示） */
.voice-img-left {
  display: none !important;
}
.voice-img-left img {
  display: none !important;
}

/* 右エリア */
.voice-right {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  width: 60% !important;
}

/* intro 枠 */
.voice-intro-new {
  background: #fffde8 !important;
  border-radius: 12px !important;
  padding: 8px 20px 8px !important;
  margin-left: 60px !important;
  margin-right: 60px !important;
  position: relative !important;
  overflow: visible !important;
}
.voice-sub-img {
  position: absolute !important;
  top: -50px !important;
  right: 10px !important;
  width: 50% !important;
  height: auto !important;
  object-fit: cover !important;
  border-radius: 8px !important;
}
.voice-intro-text {
  font-family: var(--f-mincho) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--c-navy) !important;
  line-height: 1.4 !important;
  letter-spacing: .03em !important;
  padding-right: 120px !important;
margin-bottom: 20px;
margin-top: 20px;
}
.voice-intro-em {
  font-size: 26px !important;
  font-weight: 800 !important;
}
.voice-intro-text em {
  font-style: normal !important;
  background: linear-gradient(transparent 60%, #ffe79b 60%) !important;
  padding: 0 3px !important;
}

/* カード内クォート */

/* アンケートボタン */
.btn-voice-more {
  display: inline-block !important;
  background: #ffd84d !important;
  color: var(--c-navy) !important;
  font-family: var(--f-mincho) !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  padding: 18px 80px !important;
  border-radius: 10px !important;
  letter-spacing: .06em !important;
  box-shadow: 0 4px 0 #e6b800 !important;
  transition: transform .15s, box-shadow .15s !important;
}
.btn-voice-more:hover {
  transform: translateY(2px) !important;
  box-shadow: 0 2px 0 #e6b800 !important;
}

/* ============== VOICE ============== */
.voice-intro {
  display: inline-block !important;
  text-align: left !important;
  background: linear-gradient(180deg, #fffbef 0%, #fff 100%) !important;
  padding: 24px 32px !important;
  border-radius: 14px !important;
  border: 1px solid var(--c-border) !important;
  margin-bottom: 36px !important;
  font-family: var(--f-mincho) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--c-navy) !important;
  line-height: 1.6 !important;
  letter-spacing: .04em !important;
}

.voice-intro-wrap { text-align: left; margin-bottom: 0; }

/* Voice carousel arrows */
.voice-arrow {
  flex-shrink: 0 !important;
  width: 48px !important; height: 48px;
  border-radius: 50% !important;
  background: #fff !important;
  border: 2px solid rgba(255,255,255,.5) !important;
  font-size: 28px !important;
  line-height: 1 !important;
  color: var(--c-navy) !important;
  display: flex !important; align-items: center; justify-content: center;
  cursor: pointer !important;
  transition: background .2s, border-color .2s !important;
  z-index: 5 !important;
  padding: 0 0 2px 0 !important;
}
.voice-arrow:hover { background: rgba(255,255,255,.9); }
.voice-carousel-outer {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
.voice-dots {
  display: flex !important; justify-content: center; gap: 8px;
  margin-top: 18px !important;
}
.voice-dots .dot {
  width: 10px !important; height: 10px;
  border-radius: 50% !important;
  background: rgba(255,255,255,.4) !important;
  border: none !important; cursor: pointer;
  transition: background .2s, transform .2s !important;
  padding: 0 !important;
}
.voice-dots .dot.is-active {
  background: #fff !important;
  transform: scale(1.25) !important;
}
.voice-intro em {
  font-style: normal !important;
  background: linear-gradient(transparent 60%, #ffe79b 60%) !important;
  padding: 0 4px !important;
}
.voice-layout {
  display: grid !important;
  grid-template-columns: 460px 1fr !important;
  gap: 48px !important;
  align-items: center !important;
}
.donut-wrap {
  background: #fff !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 14px !important;
  padding: 10px !important;
  text-align: center !important;
}
.donut { position: relative; width: 380px; height: 380px; margin: 4px auto 12px; }
.donut svg { transform: rotate(-90deg); }
.donut-center {
  position: absolute !important; inset: 0;
  display: grid !important; place-items: center;
  line-height: 1.1 !important;
  text-align: center !important;
}
.donut-center .l {
  font-size: 13px !important;
  color: var(--c-text-2) !important;
  letter-spacing: .08em !important;
}
.donut-center .pct {
  font-family: var(--f-num) !important;
  font-weight: 900 !important;
  font-size: 64px !important;
  color: var(--c-red-d) !important;
  letter-spacing: -.02em !important;
}
.donut-center .pct small {
  font-size: 24px !important;
  margin-left: 3px !important;
  vertical-align: 2px !important;
}
.donut-legend {
  display: flex !important; flex-wrap: wrap; justify-content: center;
  gap: 6px 18px !important;
  margin-top: 10px !important;
  font-size: 17px !important;
  color: #ffffff !important;
}
.donut-legend .it { display: flex; align-items: center; gap: 6px; }
.donut-legend .sw { width: 12px; height: 12px; border-radius: 2px; }
.donut-src {
  font-size: 15px !important;
  color: #ffffff !important;
  margin-top: 8px !important;
}
.voice-carousel {
  position: relative !important;
}
.voice-scroll {
  display: flex !important;
  overflow: hidden !important;
  gap: 20px !important;
  transition: none !important;
}
.voice-track {
  display: flex !important;
  gap: 20px !important;
  transition: transform .45s cubic-bezier(.4,0,.2,1) !important;
  will-change: transform !important;
}
.v-card {
  flex: 0 0 calc(38% - 10px) !important;
  min-width: calc(38% - 10px) !important;
  max-width: calc(38% - 10px) !important;
  box-sizing: border-box !important;
  background: #fff !important;
  border-radius: 14px !important;
  border: 1px solid var(--c-border) !important;
  padding: 22px 24px 20px !important;
  position: relative !important;
}
.v-card::before {
  content: "“" !important; position: absolute; top: -90px; right: 80px;
  font-family: serif !important;
  font-size: 72px !important;
  color: #ffd99c !important;
  line-height: 1 !important;
}
.v-card .stars { color: #f5b400; letter-spacing: 2px; font-size: 26px; margin-bottom: 8px; }
.v-card .q {
  font-family: var(--f-mincho) !important;
  font-size: 15px !important;
  font-size: 1.0rem !important;
  color: var(--c-navy) !important;
  letter-spacing: .04em !important;
  min-height: 100px !important;
}
.v-card .meta {
  display: flex !important; gap: 10px; align-items: center;
  margin-top: 14px !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--c-border) !important;
}
.v-card .meta .ph { width: 70px; height: 70px; border-radius: 50%; flex-shrink: 0; font-size: 8px; }
.v-card .meta .who { font-size: 16px; font-weight: 700; }
.v-card .meta .info { font-size: 14px; color: #0f0f0f; }

/* ============== REASONS GRID ============== */
.reasons-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
}
.reason-card {
  background: #ffffff !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  display: flex !important;
  flex-direction: column !important;
}
.reason-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 32px rgba(0,0,0,0.11) !important;
}
.card-photo {
  position: relative !important;
  height: 210px !important;
  overflow: hidden !important;
  background: #e8e4df !important;
}
.card-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease !important;
}
.reason-card:hover .card-photo img {
  transform: scale(1.04) !important;
}
.point-badge {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  background: #64b82b !important;
  color: #fff !important;
  border-radius: 50% !important;
  width: 70px !important;
  height: 70px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  box-shadow: 0 2px 8px rgba(100,184,43,0.35) !important;
}
.point-badge .pt-label {
  font-size: 10px !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 2px !important;
  opacity: 0.9 !important;
}
.point-badge .pt-num {
  font-size: 30px !important;
}
.photo-placeholder {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  gap: 8px !important;
  color: #aaa !important;
  position: absolute !important;
  inset: 0 !important;
}
.photo-placeholder svg { opacity: 0.4; }
.photo-placeholder span { font-size: 12px; letter-spacing: 0.05em; }
.card-body {
  padding: 26px 28px 30px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}
.card-number {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #64b82b !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin-bottom: 2px !important;
}
.card-title {
  font-family: var(--f-mincho) !important;
  font-size: 23px !important;
    font-size: 1.4rem !important;
  font-weight: 700 !important;
  color: #2a2a2a !important;
  line-height: 1.55 !important;
  margin-top: 0 !important;
  margin-bottom: 14px !important;
}
.card-title .keyword {
  color: #64b82b !important;
  background: rgba(100,184,43,0.1) !important;
  padding: 1px 5px !important;
  border-radius: 4px !important;
  font-size: 24px !important;
  font-size: 1.7rem;
  display: block !important;
}
.card-divider {
  height: 1px !important;
  width: 100% !important;
  background: #64b82b !important;
  border-radius: 2px !important;
  margin-bottom: 1px !important;
}
.card-text {
  font-size: 17px !important;
  font-size: 1.1rem !important;
  color: #555 !important;
  line-height: 1.75 !important;
  flex: 1 !important;
}

/* ============== BANNER SECTION ============== */
.banner-section {
  padding: 40px 0 !important;
  background: var(--c-bg-2) !important;
}
.banner-section .container {
  display: flex !important;
  justify-content: center !important;
  gap: 24px !important;
}
.banner-item {
  display: block !important;
  width: 600px !important;
  flex-shrink: 0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  transition: opacity .2s, transform .2s !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.08) !important;
}
.banner-item img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}
.banner-item:hover {
  opacity: .9 !important;
  transform: translateY(-2px) !important;
}

/* CTA キャラクター画像 */
.adv-chara {
  position: absolute !important;
  right: 90px !important;
  bottom: 60px !important;
  height: 90% !important;
  width: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  pointer-events: none !important;
  z-index: 0 !important;
  margin-bottom: 50px !important;
}
.adv-right-content {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
}

/* ============== COMPANY ============== */
/* ============== BANNER SECTION ============== */
.banner-section {
  padding: 40px 0 !important;
  background: var(--c-bg-2) !important;
}
.banner-section .container {
  display: flex !important;
  justify-content: center !important;
  gap: 24px !important;
}
.banner-item {
  display: block !important;
  width: 600px !important;
  flex-shrink: 0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  transition: opacity .2s, transform .2s !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.08) !important;
}
.banner-item img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}
.banner-item:hover {
  opacity: .9 !important;
  transform: translateY(-2px) !important;
}

/* CTA キャラクター画像 */
.adv-chara {
  position: absolute !important;
  right: 70px !important;
  bottom: 50px !important;
  height: 90% !important;
  width: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  pointer-events: none !important;
  z-index: 0 !important;
  margin-bottom: 50px !important;
}
.adv-right-content {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
}

/* ============== COMPANY ============== */
.company-band {
  background: #fff !important;
  padding: 0 0 60px !important;
  overflow: hidden !important;
}

/* 上段: 左キャッチ + 右写真700px */
.company-hero {
  position: relative !important;
  width: 100% !important;
  min-height: 460px !important;
  display: flex !important;
  align-items: stretch !important;
  overflow: hidden !important;
  margin-bottom: 0 !important;
  background: #fff !important;
}
/* 左: キャッチコピーエリア */
.company-hero-text {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 48px 20px 46px 7% !important;
  position: relative !important;
  z-index: 2 !important;
  background: #fff !important;
}
/* 右: 写真700px固定 */
.company-hero-img-wrap {
  width: 700px !important;
  flex-shrink: 0 !important;
  position: relative !important;
  overflow: hidden !important;
}
.company-hero-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
}
/* 写真左端にグラデーション */
.company-hero-img-wrap::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to right, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 18%) !important;
  z-index: 1 !important;
}

.company-script {
  font-style: italic !important;
  font-size: 72px !important;
  font-weight: 500 !important;
  color: var(--c-orange) !important;
  letter-spacing: .02em !important;
  line-height: 1 !important;
  margin-bottom: 14px !important;
}
.company-tag-wrap {
  display: inline-flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  margin-bottom: 18px !important;
}
.company-tag {
  display: inline-block !important;
  background: var(--c-orange) !important;
  color: #fff !important;
  font-family: var(--f-mincho) !important;
  font-size: 29px;
  font-weight: 700 !important;
  padding: 2px 19px !important;
  letter-spacing: .06em !important;
  border-radius: 3px !important;
  width: fit-content !important;
}
.company-hero-title {
  font-family: var(--f-mincho) !important;
  font-size: 30px ;
  font-size: 1.9rem ;
  font-weight: 700 !important;
  color: var(--c-navy) !important;
  line-height: 1.5 !important;
  letter-spacing: .04em !important;
}

/* 下段: 縦長写真 + (正方形写真 + テキスト) */
.company-lower {
  max-width: 100% !important;
  margin: 40px auto 0 !important;
  padding: 0% 7% 0% 7% !important;
  display: grid !important;
  grid-template-columns: 260px 1fr !important;
  gap: 32px !important;
  align-items: start !important;
}

/* 左: 縦長写真のみ */
.company-photos-new {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
/* company-02: 縦長・大きめ */
.company-photos-new .company-photo-tall {
  width: 100% !important;
  border-radius: 10px !important;
  display: block !important;
  margin-top: -30px !important;
  object-fit: cover !important;
  aspect-ratio: 3/4 !important;
  z-index: 3 !important;
  position: relative !important;
}
/* company-03: 正方形（右カラムに移動） */
.company-photos-new .company-photo-sq {
  display: none !important;
}

/* 右カラム: 正方形写真 + テキスト */
.company-right-col {
  display: grid !important;
  grid-template-columns: 250px 1fr !important;
  gap: 40px !important;
  align-items: start !important;
}
.company-photo-sq-right {
  width: 100% !important;
  border-radius: 10px !important;
  display: block !important;
  margin-top: 30px !important;
  object-fit: cover !important;
  aspect-ratio: 1/1 !important;
}

/* 右: テキスト */
.company-text-new {
  padding-top: 5px !important;
}
.company-desc-new {
  font-size: 17px !important;
  font-size: 1.1rem !important;
  line-height: 2 !important;
  color: var(--c-text-2) !important;
  margin-bottom: 20px !important;
}
.company-meta {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px 30px !important;
  margin: 24px 0 !important;
}
.company-meta .row { border-bottom: 1px solid var(--c-border); padding-bottom: 10px; }
.company-meta .k { font-size: 11px; color: var(--c-text-3); letter-spacing: .12em; }
.company-meta .v { font-size: 14px; color: var(--c-navy); font-weight: 700; margin-top: 2px; }

/* ============== FAQ ============== */
.faq-list {
  display: flex !important; flex-direction: column;
  gap: 10px !important;
  max-width: 920px !important; margin: 0 auto;
}
.faq-item {
  background: #fff !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
.faq-q, .faq-a {
  display: grid !important;
  grid-template-columns: 44px 1fr 20px !important;
  gap: 16px !important;
  padding: 18px 22px !important;
  align-items: start !important;
}
.faq-q { cursor: pointer; }
.faq-q .mark, .faq-a .mark {
  font-family: var(--f-num) !important;
  font-style: italic !important;
  font-weight: 800 !important;
  font-size: 30px !important;
  line-height: 1 !important;
}
.faq-q .mark { color: var(--c-orange); }
.faq-a .mark { color: var(--c-navy); }
.faq-q .txt {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--c-navy) !important;
  line-height: 1.5 !important;
}
.faq-q .chev {
  align-self: center !important;
  font-size: 16px !important;
  color: var(--c-text-3) !important;
  transition: transform .25s !important;
}
.faq-item.is-open .faq-q .chev { transform: rotate(180deg); }
.faq-a {
  display: none !important;
  border-top: 1px solid var(--c-border) !important;
  background: var(--c-bg-3) !important;
}
.faq-item.is-open .faq-a { display: grid; }
.faq-a .txt {
  font-size: 13px !important;
  line-height: 1.95 !important;
  color: var(--c-text-2) !important;
}

/* ============== AREA ============== */
.area-band {
  background: #fef9e7 !important;
  color: var(--c-navy) !important;
  padding: 56px 60px 64px !important;
  position: relative !important;
}
.area-band .pc-head .en { color: #c3bdbb; }
.area-band .pc-head .jp { color: var(--c-navy); }
.area-band .pc-head .jp .accent { color: var(--c-orange); }
.area-band .pc-head .sub { color: var(--c-text-2); }
.area-band .pc-head .rule {
  margin-top: 5px !important; background: #a5a5a5 !important; }

/* 新レイアウト */
.area-new-layout {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 32px !important;
  align-items: start !important;
  margin-top: 20px !important;
}

/* 左エリア */
.area-left {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.area-catch {
  font-size: 25px;
  font-weight: 700 !important;
  color: var(--c-text-2) !important;
  letter-spacing: .04em !important;
  margin-bottom: -20px !important;
  line-height: 0 !important;
}
.area-main-title {
  font-family: var(--f-mincho) !important;
  font-size: 48px !important;
  font-weight: 900 !important;
  color: var(--c-navy) !important;
  letter-spacing: .04em !important;
  line-height: 2.9 !important;
  margin-bottom: 0px ;
  padding-bottom: 0px;
}
.area-main-title span { color: var(--c-orange); }
.area-left-img {
  width: 100% !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
.area-left-img img {
  width: 100% !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 12px !important;
}

/* 右エリア */
.area-right {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  position: relative !important;
}
.area-right-imgs {
  display: flex !important;
  justify-content: flex-end !important;
  position: relative !important;
  height: 480px !important;
}
/* 右側大きな地図画像 */
.area-map-img {
  width: 78% !important;
  border-radius: 14px !important;
  object-fit: cover !important;
  display: block !important;
  align-self: flex-end !important;
}
/* スタンプ画像（重ね） */
.area-stamp-img {
  position: absolute !important;
  left: 0 !important;
  top: -10px !important;
  width: 34% !important;
  object-fit: contain !important;
  display: block !important;
  z-index: 2 !important;
}

/* 対応エリア説明ボックス */
.area-info-box {
  background: #fff !important;
  border-radius: 12px !important;
  padding: 24px 28px !important;
  position: relative !important;
  margin-top: -60px !important;
}
.area-info-tag {
  display: inline-block !important;
  background: var(--c-orange) !important;
  color: #fff !important;
  font-family: var(--f-mincho) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  padding: 6px 22px !important;
  border-radius: 999px !important;
  letter-spacing: .06em !important;
  margin-bottom: 0px !important;
}
.area-info-title {
  font-family: var(--f-mincho) !important;
  font-size: 36px;
  font-weight: 900;
  color: var(--c-navy) !important;
  letter-spacing: .04em !important;
  line-height: 1.4 !important;
  margin-bottom: 14px !important;
  margin-top: 10px !important;
}
.area-info-title span { color: var(--c-orange); }
.area-info-desc {
  font-size: 16px;
  font-size: 1.1rem;
  color: var(--c-text-2) !important;
  line-height: 1.9 !important;
}
.area-info-desc strong { color: var(--c-orange); font-weight: 800; }
.area-note {
  font-size: 13px;
  color: var(--c-text-3) !important;
  line-height: 1.8;
  margin-top: 4px !important;
}


/* ============== GOOGLE REVIEWS ============== */
.grev-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #fff !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 12px !important;
  padding: 20px 28px !important;
  margin-bottom: 20px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.06) !important;
}
.grev-header-left {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}
.grev-logo-title {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #202124 !important;
}
.grev-rating-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 4px !important;
}
.grev-score {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #202124 !important;
}
.grev-stars {
  color: #fbbc04 !important;
  font-size: 20px !important;
  letter-spacing: 1px !important;
}
.grev-count {
  font-size: 14px !important;
  color: #70757a !important;
}
.grev-btn {
  display: inline-flex !important;
  align-items: center !important;
  background: #1a73e8 !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 12px 22px !important;
  border-radius: 999px !important;
  letter-spacing: .02em !important;
  transition: background .2s !important;
  white-space: nowrap !important;
}
.grev-btn:hover { background: #1557b0; }

/* カードスライダー */
.grev-track-wrap {
  position: relative !important;
}
.grev-viewport {
  overflow: hidden !important;
}
.grev-track {
  display: flex !important;
  gap: 16px !important;
  transition: transform .45s cubic-bezier(.4,0,.2,1) !important;
}
.grev-card {
  flex: 0 0 calc(20% - 13px) !important;
  min-width: calc(20% - 13px) !important;
  background: #fff !important;
  border: 1px solid #e8eaed !important;
  border-radius: 12px !important;
  padding: 18px 18px 16px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.06) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  box-sizing: border-box !important;
}
.grev-user {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.grev-avatar {
  width: 40px !important; height: 40px;
  border-radius: 50% !important;
  background: #e0e0e0 !important;
  display: flex !important; align-items: center; justify-content: center;
  font-weight: 700 !important; font-size: 16px;
  color: #fff !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
}
.grev-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.grev-user-info { display: flex; flex-direction: column; gap: 1px; }
.grev-user-name {
  display: flex !important; align-items: center; gap: 4px;
  font-size: 14px !important; font-weight: 700; color: #202124;
}
.grev-verified {
  width: 16px !important; height: 16px;
  background: #1a73e8 !important;
  border-radius: 50% !important;
  display: inline-flex !important; align-items: center; justify-content: center;
  flex-shrink: 0 !important;
}
.grev-verified svg { width: 10px; height: 10px; }
.grev-g-icon {
  display: inline-flex !important; align-items: center;
  gap: 2px !important;
}
.grev-date { font-size: 12px; color: #70757a; }
.grev-card-stars { color: #fbbc04; font-size: 16px; letter-spacing: 1px; }
.grev-text {
  font-size: 13px !important;
  color: #3c4043 !important;
  line-height: 1.7 !important;
  flex: 1 !important;
}
.grev-more { font-size: 12px; color: #1a73e8; cursor: pointer; }

/* 矢印ボタン */
.grev-arrow {
  position: absolute !important;
  top: 50% !important; transform: translateY(-50%);
  width: 36px !important; height: 36px;
  border-radius: 50% !important;
  background: #fff !important;
  border: 1px solid #dadce0 !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.15) !important;
  display: flex !important; align-items: center; justify-content: center;
  cursor: pointer !important;
  z-index: 5 !important;
  transition: box-shadow .2s !important;
}
.grev-arrow:hover { box-shadow: 0 2px 8px rgba(0,0,0,.2); }
.grev-arrow--prev { right: -18px; }
.grev-arrow--next { right: -18px; }
.grev-arrow--prev { left: -18px; }

/* ドット */
.grev-dots {
  display: flex !important; justify-content: center; gap: 6px;
  margin-top: 16px !important;
}
.grev-dot {
  width: 8px !important; height: 8px;
  border-radius: 50% !important;
  background: #dadce0 !important;
  border: none !important; cursor: pointer; padding: 0;
  transition: background .2s, transform .2s !important;
}
.grev-dot.active { background: #1a73e8; transform: scale(1.2); }
/* ============== REVIEWS ============== */
.reviews-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 18px !important;
}
.rv {
  background: #fff !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 10px !important;
  padding: 22px 24px !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 16px !important;
  align-items: start !important;
}
.rv .ph { width: 56px; height: 56px; border-radius: 50%; font-size: 8px; }
.rv .head { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.rv .stars { color: #f5b400; letter-spacing: 2px; }
.rv .score { font-family: var(--f-num); font-weight: 800; color: #df1d00; font-size: 16px; }
.rv .who { font-size: 14px; color: #212121; }
.rv .ttl { font-weight: 700; color: var(--c-navy); font-size: 22px; margin: 3px 0 4px; }
.rv .body { font-size: 15px; line-height: 1.5; color: var(--c-text-2); }
.rv .src { text-align: right; font-size: 10px; color: var(--c-text-3); letter-spacing: .08em; }
.rv .src .pl {
  display: block !important;
  font-family: var(--f-num) !important;
  font-style: italic !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  color: var(--c-green-d) !important;
  margin-bottom: 2px !important;
}

/* ============== COLUMN ============== */
.col-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}
.col-card {
  background: #fff !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 1px solid var(--c-border) !important;
  transition: transform .25s !important;
}
.col-card:hover { transform: translateY(-3px); }
.col-card .ph { aspect-ratio: 16/10; }
.col-card__body { padding: 18px 22px 22px; }
.col-card__meta {
  display: flex !important; gap: 10px; align-items: center;
  font-size: 14px !important; color: var(--c-text-3);
  margin-bottom: 8px !important;
}
.col-card__meta .tag {
  background: #fff1e3 !important;
  color: var(--c-orange-d) !important;
  padding: 2px 8px !important;
  border-radius: 3px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
}
.col-card__title {
  font-family: var(--f-mincho) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--c-navy) !important;
  line-height: 1.6 !important;
  letter-spacing: .04em !important;
}

/* ============== INSTAGRAM ============== */
.insta-head {
  display: flex !important; align-items: end; justify-content: space-between;
  margin-bottom: 30px !important;
}
.insta-handle {
  font-family: var(--f-num) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: var(--c-text-2) !important;
  display: flex !important; align-items: center; gap: 8px;
  margin-top: 8px !important;
}
.insta-handle .ig {
  width: 26px !important; height: 26px;
  border-radius: 6px !important;
  background: linear-gradient(135deg, #fcb045, #fd1d1d, #833ab4) !important;
  display: grid !important; place-items: center;
  color: #fff !important;
}
.insta-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 8px !important;
}
.insta-tile {
  aspect-ratio: 1 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  position: relative !important;
  cursor: pointer !important;
}
.insta-tile .ph { width: 100%; height: 100%; font-size: 9px; }
.insta-tile:hover::after {
  content: "" !important; position: absolute; inset: 0;
  background: rgba(255,122,61,.25) !important;
}

/* ============== NOTICES ============== */
.notices {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}
.notice {
  background: #fff !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-columns: 140px 1fr !important;
}
.notice .ph { aspect-ratio: auto; height: 100%; }
.notice__body { padding: 14px 18px; }
.notice__cat {
  display: inline-block !important;
  background: var(--c-yellow) !important;
  color: var(--c-navy) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  padding: 2px 8px !important;
  border-radius: 3px !important;
  letter-spacing: .12em !important;
}
.notice__cat--info { background: var(--c-blue); color: #fff; }
.notice__cat--press { background: var(--c-red); color: #fff; }
.notice__title {
  font-family: var(--f-mincho) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--c-navy) !important;
  margin: 8px 0 4px !important;
  line-height: 1.5 !important;
}
.notice__date { font-size: 14px; color: #3e3e3e; letter-spacing: .06em; }

/* ============== FLOW ============== */
.flow {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
  position: relative !important;
}
.flow-step {
  padding: 0 24px !important;
  border-right: 1px dashed var(--c-line) !important;
  text-align: center !important;
  position: relative !important;
  background-color: #ffffff !important;
}
.flow-step:last-child { border-right: 0; }
.flow-step::after {
  content: "›" !important;
  position: absolute !important;
  right: -22px !important; top: 150px;
  font-size: 50px !important;
  color: var(--c-orange) !important;
  font-weight: 700 !important;
  width: 44px !important; height: 44px;
  background: #fff !important;
  border-radius: 50% !important;
  display: flex !important; align-items: center; justify-content: center;
  box-shadow: 0 2px 8px rgba(0,0,0,.1) !important;
  line-height: 1 !important;
  z-index: 2 !important;
}
.flow-step:last-child::after { display: none; }
.flow-step .num {
  display: flex !important; align-items: baseline; justify-content: center; gap: 6px;
  font-family: var(--f-num) !important;
  font-style: italic !important;
  color: var(--c-orange) !important;
  margin-bottom: 14px !important;
}
.flow-step .num .l { font-size: 26px; font-weight: 700; letter-spacing: .14em; }
.flow-step .num .n { font-size: 55px; font-weight: 800; line-height: 1; }
.flow-step .ic-wrap {
  width: 92px !important; height: 92px;
  border-radius: 50% !important;
  background: #fff5ec !important;
  color: var(--c-orange-d) !important;
  display: grid !important; place-items: center;
  margin: 0 auto 18px !important;
}
.flow-step .t {
  font-family: var(--f-mincho) !important;
  font-size: 26px !important;
  font-size: 1.6rem !important;  
  font-weight: 700 !important;
  color: var(--c-navy) !important;
  margin-bottom: 12px !important;
  letter-spacing: .06em !important;
  line-height: 1.3em !important;
}
.flow-step .d {
  font-size: 15px !important;
  font-size: 1.0rem !important;  
  color: var(--c-text-2) !important;
  line-height: 1.7 !important;
  letter-spacing: .02em !important;
  text-align: left !important;
}

/* ============== CONTACT FORM ============== */
.contact-wrap {
  background: #fff !important;
  border-radius: 24px !important;
  padding: 56px 64px !important;
  border: 1px solid var(--c-border) !important;
  box-shadow: 0 16px 50px rgba(0,0,0,.08) !important;
  display: grid !important;
  grid-template-columns: 1fr 1.2fr !important;
  gap: 56px !important;
  align-items: start !important;
}
.contact-left .head-jp {
  font-family: var(--f-mincho) !important;
  font-size: 37px !important;
  font-weight: 700 !important;
  color: var(--c-navy) !important;
  line-height: 1.5 !important;
  margin-bottom: 16px !important;
  letter-spacing: .04em !important;
}
.contact-left .head-jp .accent { color: var(--c-orange-d); }
.contact-bullets {
  list-style: none !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
}
.contact-bullets li {
  display: grid !important;
  grid-template-columns: 26px 1fr !important;
  gap: 10px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--c-border) !important;
  font-size: 16px !important;
  color: var(--c-text-2) !important;
  align-items: center !important;
}
.contact-bullets .ck {
  width: 22px !important; height: 22px;
  border-radius: 50% !important;
  background: var(--c-orange) !important;
  color: #fff !important;
  display: grid !important; place-items: center;
  font-size: 11px !important;
  font-weight: 800 !important;
}
.contact-tel {
  margin-top: 24px !important;
  background: var(--c-navy) !important;
  color: #fff !important;
  border-radius: 10px !important;
  padding: 20px 24px !important;
  text-align: center !important;
}
.contact-tel .l { font-size: 11px; opacity: .85; letter-spacing: .14em; }
.contact-tel .n {
  font-family: var(--f-num) !important;
  font-weight: 800 !important;
  font-size: 32px !important;
  letter-spacing: .02em !important;
  margin: 2px 0 !important;
}
.contact-tel .h { font-size: 11px; opacity: .7; }

.form-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 18px !important;
}
.field { display: flex; flex-direction: column; gap: 6px; }
.field--full { grid-column: 1 / -1; }
.field label {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--c-text-2) !important;
  letter-spacing: .08em !important;
  display: flex !important; align-items: center; gap: 8px;
}
.field .req {
  background: var(--c-red) !important;
  color: #fff !important;
  font-size: 10px !important;
  padding: 1px 6px !important;
  border-radius: 2px !important;
  font-weight: 700 !important;
}
.field input, .field select, .field textarea {
  font: inherit !important;
  background: var(--c-bg-3) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 6px !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
}
.field input:focus, .field select:focus, .field textarea:focus {
  outline: 0 !important;
  border-color: var(--c-orange) !important;
  background: #fff !important;
}
.field textarea { min-height: 110px; resize: vertical; }
.chips-row { display: flex; flex-wrap: wrap; gap: 8px; }
.chip-input {
  cursor: pointer !important;
  font-size: 12px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: var(--c-bg-3) !important;
  border: 1px solid var(--c-border) !important;
  color: var(--c-text-2) !important;
  user-select: none !important;
  transition: all .15s !important;
}
.chip-input.is-active {
  background: var(--c-orange) !important;
  color: #fff !important;
  border-color: var(--c-orange) !important;
}
.form-submit { grid-column: 1 / -1; display: flex; justify-content: center; margin-top: 8px; }
.form-submit button {
  background: var(--c-orange) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  letter-spacing: .14em !important;
  padding: 18px 60px !important;
  border-radius: 999px !important;
  box-shadow: 0 5px 0 var(--c-orange-d) !important;
}
.form-submit button:hover { transform: translateY(1px); box-shadow: 0 3px 0 var(--c-orange-d); }

/* ============== FOOTER ============== */
.pc-footer {
  background: #fff !important;
  color: #2d2d2d !important;
font-size: 13px !important;	
  padding: 70px 0 0 !important;
}
.pc-foot-grid {
  display: grid !important;
  grid-template-columns: 2.5fr 1fr 1fr 1fr !important;
  gap: 48px !important;
  padding-bottom: 48px !important;
  border-bottom: 1px solid var(--c-border) !important;
}
.pc-foot-brand .pc-brand-mark { background: var(--c-green); color: #fff; }
.pc-foot-brand .pc-brand-name { color: var(--c-navy); }
.pc-foot-brand .pc-brand-name small { color: #353535; }
.pc-foot-addr {
  font-size: 14px !important; color: #2d2d2d;
  line-height: 2 !important;
  margin-top: 18px !important;
  letter-spacing: .04em !important;
}
.pc-foot-tel { margin-top: 14px; }
.pc-foot-tel .n {
  font-family: var(--f-num) !important;
  font-weight: 800 !important;
  font-size: 26px !important;
  color: var(--c-navy) !important;
  letter-spacing: .02em !important;
}
.pc-foot-tel .h { font-size: 11px; opacity: .6; }
.pc-foot-col h4 {
  font-family: var(--f-num) !important;
  font-style: italic !important;
  font-size: 24px !important;
  color: var(--c-orange) !important;
  letter-spacing: .14em !important;
  margin: 0 0 5px !important;
}
.pc-foot-col ul { list-style: none; margin: 0; padding: 0; }
.pc-foot-col li {
  padding: 2px 0 !important;
  font-size: 16px !important;
  color: #2d2d2d !important;
  letter-spacing: .04em !important;
  cursor: pointer !important;
}
.pc-foot-col li:hover { color: var(--c-orange); }
.pc-foot-sns { display: flex; gap: 10px; margin-top: 22px; }
.pc-foot-sns .sns {
  width: 38px !important; height: 38px;
  border-radius: 50% !important;
  background: var(--c-green) !important;
  border: 1px solid var(--c-green) !important;
  display: grid !important; place-items: center;
  color: #fff !important;
  transition: background .2s !important;
}
.pc-foot-sns .sns:hover { background: var(--c-orange); border-color: var(--c-orange); color: #fff; }
.pc-foot-bottom {
  display: flex !important; justify-content: space-between; align-items: center;
  padding: 22px 0 !important;
  font-size: 13px !important;
  color: #3e3e3e !important;
  letter-spacing: .08em !important;
}
.pc-foot-bottom .legal { display: flex; gap: 22px; }
.pc-foot-bottom .legal a { color: #3e3e3e; }
.pc-foot-bottom .legal a:hover { color: var(--c-orange); }

/* Elfsight カスタム */
.bpCTrQ {
  font-size: 11px !important;
  font-weight: bold !important;
  font-style: normal !important;
  color: rgb(17, 17, 17) !important;
  text-wrap: balance !important;
  line-height: 1.32 !important;
  display: none !important;
}


.pc-foot-sns .sns--insta {
  background: linear-gradient(135deg, #f09433 0%, #e6683c 25%, #ed2b49 50%, #da3c7a 75%, #bc1888 100%) !important;
  border: none !important;
  width: 46px !important; height: 46px;
  border-radius: 50% !important;
  display: flex !important; align-items: center; justify-content: center;
  transition: opacity .2s, transform .2s !important;
}
.pc-foot-sns .sns--insta:hover { opacity: .85; transform: scale(1.05); }
.pc-foot-sns .sns--line {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  display: block !important;
  line-height: 0 !important;
  width: auto !important; height: auto;
  border-radius: 0 !important;
  transition: opacity .2s, transform .2s !important;
}
.pc-foot-sns .sns--line:hover { opacity: .85; transform: scale(1.05); }
.pc-foot-sns .sns--line img {
  width: 46px !important; height: 46px;
  display: block !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}


.wc-outer {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  top: -40px !important;
}
.wc-viewport {
  overflow-x: hidden !important;
  overflow-y: visible !important;
  flex: 1 !important;
}
.wc-track {
  display: flex !important;
  gap: 21px !important;
  transition: transform .45s cubic-bezier(.4,0,.2,1) !important;
  will-change: transform !important;
  padding: 44px 12px 12px !important;
}
.wc-card {
  flex: 0 0 calc(33.333% - 16px) !important;
  background: #fff !important;
  border-radius: 14px !important;
  border: 1px solid var(--c-border) !important;
  overflow: visible !important;
  position: relative !important;
  transition: transform .2s, box-shadow .2s !important;
  display: flex !important;
  flex-direction: column !important;
}
.wc-card:hover {
  transform: translateY(-4px) !important;
}
.wc-new {
  position: absolute !important;
  top: -32px !important; left: -10px;
  z-index: 10 !important;
  background: #ff4227 !important;
  color: #fff !important;
  font-family: var(--f-mincho) !important;
  font-size: 21px !important;
  font-weight: 800 !important;
  width: 62px !important; height: 62px;
  border-radius: 50% !important;
  display: flex !important; align-items: center; justify-content: center;
  letter-spacing: .05em !important;
}
.wc-photos {
  display: grid !important;
  grid-template-columns: 1fr 24px 1fr !important;
  align-items: center !important;
  background: #fff !important;
  gap: 0 !important;
  overflow: hidden !important;
  border-radius: 14px 14px 0 0 !important;
}
.wc-photo {
  position: relative !important;
  aspect-ratio: 4/3 !important;
  overflow: hidden !important;
}
.wc-photo .ph {
  width: 100% !important; height: 100%;
  font-size: 10px !important;
}
.wc-photo-label {
  position: absolute !important;
  bottom: 8px !important; left: 8px;
  font-family: var(--f-num) !important;
  font-size: 14px !important;
  font-size: 0.9rem !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  padding: 4px 12px !important;
  border-radius: 3px !important;
  background: rgba(0,0,0,.55) !important;
  color: #fff !important;
}
.wc-photo-label--after {
  background: var(--c-orange) !important;
}
.wc-arrow-mid {
  color: #ff0000 !important;
  font-size: 18px !important;
  text-align: center !important;
  flex-shrink: 0 !important;
}
.wc-body {
  padding: 15px 15px 13px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  border-radius: 0 0 8px 8px !important;
  overflow: hidden !important;
}
.wc-chips {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  font-size: 15px !important;
  color: var(--c-text-3) !important;
  margin-bottom: 8px !important;
}
.wc-chips .wc-date {
  margin-left: auto !important;
  font-size: 13px !important;
  color: var(--c-text-3) !important;
  letter-spacing: .04em !important;
}
.wc-chips .chip {
  background: var(--c-bg-2) !important;
  color: var(--c-navy) !important;
  padding: 2px 10px !important;
  border-radius: 4px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  font-size: 0.7rem !important;
}
.wc-title {
  font-family: var(--f-mincho) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--c-navy) !important;
  line-height: 1.5 !important;
  letter-spacing: .04em !important;
  margin: 0 0 12px !important;
  min-height: calc(1.0em * 2) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.wc-bf-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  flex: 1 !important;
}
.wc-bf {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  font-size: 14px !important;
  font-size: 0.9rem !important;
  color: #000000 !important;
  line-height: 1.65 !important;
}
.wc-lbl {
  flex-shrink: 0 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  padding: 2px 8px !important;
  border-radius: 3px !important;
  letter-spacing: .08em !important;
  margin-top: 2px !important;
  width: 5.5em !important;
  text-align: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.wc-lbl--q {
  background: #fff0ea !important;
  color: var(--c-orange-d) !important;
  border-left: 3px solid var(--c-orange) !important;
}
.wc-lbl--a {
  background: #e8f4e0 !important;
  color: var(--c-green-d) !important;
  border-left: 3px solid var(--c-green) !important;
}
.wc-detail-btn {
  display: flex !important; align-items: center; justify-content: flex-end;
  gap: 4px !important;
  margin-top: auto !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--c-border) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--c-orange) !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
}
.wc-detail-btn::after {
  content: "›" !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.wc-arrow {
  flex-shrink: 0 !important;
  width: 48px !important; height: 48px;
  border-radius: 50% !important;
  background: #fff !important;
  border: 2px solid var(--c-border) !important;
  font-size: 28px !important;
  line-height: 1 !important;
  color: var(--c-navy) !important;
  display: flex !important; align-items: center; justify-content: center;
  cursor: pointer !important;
  transition: background .2s, border-color .2s !important;
  position: relative !important;
  z-index: 5 !important;
  margin: 0 8px !important;
  padding: 0 0 2px 0 !important;
}
.wc-arrow:hover {
  background: var(--c-orange) !important;
  border-color: var(--c-orange) !important;
  color: #fff !important;
}
.wc-dots {
  margin-top: -5px !important;
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 22px !important;
}
.wc-dots .dot {
  width: 10px !important; height: 10px;
  border-radius: 50% !important;
  background: var(--c-border) !important;
  cursor: pointer !important;
  transition: background .2s, transform .2s !important;
  border: none !important;
  padding: 0 !important;
}
.wc-dots .dot.is-active {
  background: var(--c-orange) !important;
  transform: scale(1.2) !important;
}

/* ============== REAL IMAGE STYLES ============== */
img.ph-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
/* l-card 画像ラップ（補助金バッジ用） */
.l-card__img-wrap {
  position: relative !important;
  overflow: hidden !important;
}
.l-card__img-wrap .ph.ph-img {
  width: 100% !important;
  aspect-ratio: 4/3 !important;
  object-fit: cover !important;
  display: block !important;
}
.l-card__subsidy-badge {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  background: var(--c-green) !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  letter-spacing: .08em !important;
  pointer-events: none !important;
  z-index: 3 !important;
}

/* l-card内の画像はaspect-ratioで制御 — height:100%を上書き */
.l-card img.ph-img {
  height: auto !important;
  aspect-ratio: 4/3 !important;
}
/* stat-card: 画像を縦100%表示 */
.stat-card img.ph-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  flex: 1 !important;
}
/* r-card: aspect-ratioで制御（height:100%上書き防止） */
.r-card img.ph-img {
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
}
/* col-card: aspect-ratioで制御 */
.col-card img.ph-img {
  height: auto !important;
  aspect-ratio: 16 / 10 !important;
}


/* --- 1500px以下になったときのCSS --- */
@media screen and (max-width: 1500px) {

.hc-wide-full {
    display: block !important;
    width: 100% !important;
    height: 95% !important;
}


}


/* --- 1369px以下になったときのCSS --- */
@media screen and (max-width: 1369px) {
  .container {
    width: 95%; /* 横幅いっぱいに変更 */
    max-width: 1150px !important;
  }
  
  .hero-slider2 {
    max-width: 1100px !important;
}

.side-fixed {
top: 50% !important;
}

.hero-slider {
    max-width: 1150px !important;
    height: 428px !important;
    padding: 12px 64px 0 !important;
}


.hc-wide-full {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 16px !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    text-decoration: none !important;
}

.pc-nav a {
    font-size: 16px !important;
}

.hero-deco {
    max-width: 1200px !important;
}


.hero-deco--top {
    height: 165px !important;
    object-fit: contain !important;
    width: 1200px !important;
    margin-bottom: -10px !important;
    background-image: url('img/new/hero-deco-top.png') !important;
}

.pc-news-inner {
    max-width: 1100px !important;
}

.hc__price-main .pnum {
    font-size: 100px !important;
}

.hc__price-main .pdec {
    font-size: 80px !important;
}

.hc__price-tax {
    font-size: 12px !important;
    font-size: 0.8rem !important;
}

.adv-banner {
    max-width: 1100px !important;
    grid-template-columns: 100px 1fr 250px !important;
}

.adv-title {
    font-size: 35px !important;
}

.adv-lead {
    font-size: 18px !important;
}

.adv-tel-btn {
    padding: 12px 10px !important;
    font-size: 18px !important;
}

.adv-tel-num {
    font-size: 35px !important;
}

.company-hero-title {
    font-size: font-size: 1.2rem !important;
}

.banner-item {
    width: 550px !important;
}

.card-text {
    font-size: 13px !important;
}

.voice-intro-text {
    font-size: 22px !important;
}

.voice-intro-em {
    font-size: 23px !important;
}

.wc-bf {
    font-size: 13px !important;
    font-size: 0.8rem !important;
}

}

/* --- 1370px以下になったときのCSS --- */
@media screen and (max-width: 1370px) {

.hc-wide-full {
    height: 95% !important;
}

}

/* --- 1250px以下になったときのCSS --- */
@media screen and (max-width: 1250px) {

.hero-slider {
        max-width: 1050px !important;
        height: 390px !important;
}

.pc-header-top {
    width: 100% !important;
    border-bottom: 1px solid var(--c-border) !important;
}

.pc-header-nav-inner {
    max-width: 1100px !important;
}

.pc-nav a {
    font-size: 13px !important;
}


.pc-news-inner {
    width: 90% !important;
    padding: 20px 20px !important;
}

}


/* PCなど、画面が広い場合に適用されるスタイル */
@media (min-width: 1200px) {

.pc-section--voice {
background-size: 480px !important;
background-position-y: 60% !important;
    }
}


/* PCなど、画面が広い場合に適用されるスタイル */
@media (min-width: 1250px) {

.pc-section--voice {
background-size: 550px !important;
background-position-y: 63% !important;
    }
}

  
}


.sp-br { display: none; }
.sp-br-block { display: inline; }
.br-hide-sp { display: block; }
.sp-flow-arrow { display: none; }
.sp-insta-btn-wrap { display: none; }

@media (max-width: 1369px) {
  .hero-slider { height: 480px; }
  .side-fixed { top: 63%; }
}

/* ====================================================
   RESPONSIVE — Tablet (≤1124px) & Smartphone (≤440px)
   ==================================================== */

/* --- SP ハンバーガーボタン --- */
.sp-hamburger { display: none; }
.sp-cta-tel-btn { display: none; }
.sp-voice-chart { display: none; }
.sp-only-company { display: none; }
.sp-hero { display: none; }
.voice-sub-img--sp { display: none; }
.sp-header-icons { display: none; }
.sp-tel-overlay { display: none; }
.sp-nav-overlay { display: none; }
.sp-bottom-bar { display: none; }

@media (max-width: 1124px) {

  /* === HEADER === */
  .pc-header-top {
    padding: 10px 16px !important;
  }
  .pc-tel-group, .pc-header-insta {
    display: none !important;
  }
  .pc-brand-top-desc { font-size: 10px !important; }
  .pc-brand-sub-desc { font-size: 9px !important; }
  .sp-hamburger {
    display: flex !important; flex-direction: column; justify-content: center; gap: 5px;
    width: 40px !important; height: 40px;
    background: none !important; border: none; cursor: pointer; padding: 6px;
    z-index: 200 !important;
  }
  .sp-hamburger span {
    display: block !important; width: 100%; height: 3px;
    background: var(--c-navy) !important; border-radius: 2px;
    transition: transform .3s, opacity .3s !important;
  }
  .sp-hamburger.is-open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .sp-hamburger.is-open span:nth-child(2) { opacity: 0; }
  .sp-hamburger.is-open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

  .pc-header-nav-bar { display: none; }

  /* SP ヘッダーアイコン群 */
  .sp-header-icons {
    display: flex !important; align-items: center; gap: 8px;
    position: fixed !important;
    top: 12px !important;
    right: 16px !important;
    z-index: 200 !important;
  }
  .sp-tel-icon {
    display: flex !important; align-items: center; justify-content: center;
    width: 40px !important; height: 40px;
    background: #ff7a3d !important; color: #fff !important;
    border: none !important; border-radius: 50%; cursor: pointer;
    transition: background .2s !important;
  }
  .sp-tel-icon:active { background: #e06525; }

  /* SP ナビオーバーレイ（共通アニメーション） */
  .sp-nav-overlay, .sp-tel-overlay {
    position: fixed !important; inset: 0; z-index: 150;
    background: #f1eeea !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .3s ease, visibility .3s ease !important;
    display: flex !important; flex-direction: column;
  }
  .sp-nav-overlay.is-open, .sp-tel-overlay.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  .sp-nav-close {
    position: absolute !important; top: 16px; right: 16px;
    width: 44px !important; height: 44px;
    background: none !important; border: none; cursor: pointer;
    font-size: 32px !important; color: var(--c-navy); line-height: 1;
    display: flex !important; align-items: center; justify-content: center;
    z-index: 10 !important;
  }

  /* SP ナビメニュー */
  .sp-nav-menu {
    width: 100% !important; height: 100%;
    background: transparent !important; padding: 70px 24px 40px;
    display: flex !important; flex-direction: column; gap: 0;
    overflow-y: auto !important;
  }
  .sp-nav-menu a {
    display: block !important; padding: 16px 0;
    font-size: 18px !important; font-weight: 700; color: var(--c-navy);
    border-bottom: 1px solid rgba(0,0,0,.08) !important;
    text-align: center !important;
    transition: background .2s !important;
  }
  .sp-nav-menu a:hover, .sp-nav-menu a:active {
    background: #fff !important;
  }

  /* SP TELオーバーレイ */
  .sp-tel-menu {
    display: flex !important; flex-direction: column; align-items: center;
    justify-content: center !important; height: 100%;
    padding: 40px 24px !important; gap: 16px;
  }
  .sp-tel-menu-title {
    font-family: var(--f-mincho) !important;
    font-size: 25px !important; font-weight: 700; color: var(--c-navy);
    margin-bottom: 8px !important;
  }
  .sp-tel-btn {
    display: flex !important; align-items: center; justify-content: center; gap: 12px;
    width: 100% !important; max-width: 340px;
    background: #ff7a3d !important; color: #fff; padding: 18px 24px;
    border-radius: 12px !important; font-weight: 700; font-size: 18px;
    box-shadow: 0 4px 0 #c45520 !important;
    transition: transform .15s, box-shadow .15s !important;
  }
  .sp-tel-btn:active { transform: translateY(2px); box-shadow: 0 2px 0 #c45520; }
  .sp-tel-btn svg { flex-shrink: 0; }
  .sp-tel-hours {
    font-size: 18px !important; color: var(--c-navy); text-align: center; margin-top: 8px; line-height: 1.7;
  }
  .sp-tel-num {
    font-family: var(--f-num) !important; font-size: 22px; font-weight: 900;
  }

  /* === SIDE FIXED: 非表示 === */
  .side-fixed { display: none !important; }

  /* === SP ボトムバー === */
  .sp-bottom-bar {
    display: flex !important; flex-direction: column;
    position: fixed !important; bottom: 0; left: 0; right: 0;
    z-index: 200 !important; background: #fff;
    box-shadow: 0 -2px 12px rgba(0,0,0,.15) !important;
  }
  .sp-bottom-tel-row {
    display: flex !important; gap: 0;
  }
  .sp-bottom-tel {
    flex: 1 !important; display: flex; align-items: center; justify-content: center; gap: 6px;
    padding: 8px 0 !important; background: #ff7a3d; color: #fff;
    font-size: 14px !important; font-weight: 700;
  }
  .sp-bottom-tel:first-child { border-right: 1px solid rgba(255,255,255,.3); }
  .sp-bottom-btn-row {
    display: flex !important; gap: 0;color: #fff;
  }
  .sp-bottom-btn {
    flex: 1 !important; display: flex; align-items: center; justify-content: center; gap: 8px;
    padding: 12px 0 !important; font-size: 14px; font-weight: 700;
  }
  .sp-bottom-btn--line { background: #06c755; color: #fff; }
  .sp-bottom-btn--contact { background: var(--c-orange); color: #fff; }

  /* ボトムバー分の余白 */
  body { padding-bottom: 50px; }

  /* === HERO === */
  .pc-hero { display: none !important; }
  .sp-hero { display: block !important; }

  .sp-hero-inner {
    height: auto !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 5px 16px 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  .sp-hero-title {
    text-align: center !important;
    margin-bottom: 12px !important;
    z-index: 5 !important;
    position: relative !important;
  }
  .sp-hero-title img {
    height: auto !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
  }
  .sp-hero-slider {
    width: 100% !important;
    flex: 1 !important;
    overflow: hidden !important;
    position: relative !important;
    margin-top: -100px !important;
  }
  .sp-hero-track {
    display: flex !important;
    height: 430px !important;
    transition: transform .5s cubic-bezier(.4,0,.2,1) !important;
  }
  .sp-hero-slide {
    flex: 0 0 100% !important;
    min-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .sp-hero-slide img {
    height: 430px !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
  }
  .sp-hero-dots {
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: -10px !important;
    margin-bottom: 20px !important;
    position: relative !important;
    z-index: 7 !important;
  }
  .sp-hero-dots .dot {
    width: 14px !important; height: 14px;
    border-radius: 50% !important;
    background: rgba(255,122,61,.3) !important;
    cursor: pointer !important;
    transition: background .2s, border-color .2s !important;
  }
  .sp-hero-dots .dot.is-active {
    background: #ff7a3d !important;
  }
  .hero-slider {
    max-width: 100% !important; height: auto; padding: 0; margin-top: 0;
  }
  .hero-slider-viewport { height: auto; }
  .hero-slider-track { height: auto; gap: 0; }
  .hero-slide-1w { margin-top: 0; }
  .hero-slide-1w--full { height: 240px; }
  .hc-wide-full { border-radius: 0; }
  .hc-wide { grid-template-columns: 1fr; min-height: auto; border-radius: 0; border: none; }
  .hc-wide__photo { border-radius: 0; padding: 10px; }
  .hc-wide__body { padding: 16px; gap: 6px; }
  .hc-wide__title { font-size: 20px; }
  .hc-wide__corner-tag { font-size: 16px; padding: 3px 12px; top: -10px; right: 10px; }
  .hc-wide__title-row { margin-top: 10px; }
  .hc-wide__pnum { font-size: 64px !important; }
  .hc-wide__punit { font-size: 22px; margin-bottom: 4px; }
  .hc-wide__price-yaku { font-size: 18px; }
  .hc-wide__price-label { font-size: 14px; }
  .hc-wide__price-original { font-size: 18px; }
  .hc-wide__price-note { font-size: 11px; }
  .hc-wide__desc { font-size: 13px; }
  .hc-wide__specs-block { grid-column: 1 / 2; }
  .hero-slider-arrow { width: 36px; height: 36px; font-size: 20px; }
  .hero-slider-dots { margin-top: 8px; }

  /* === NEWS === */
  .pc-news { position: relative; z-index: 1; }
  .pc-news-inner { flex-direction: row; padding: 10px 5px; align-items: flex-start; gap: 10px; }
  .pc-news-label { font-size: 12px; padding: 3px 10px; margin-bottom: 0; flex-shrink: 0; margin-top: 2px; }
  .pc-news-ticker { min-height: auto; flex: 1; height: auto; position: relative; overflow: visible; }
  .pc-news-line { position: relative; inset: auto; flex-wrap: wrap; font-size: 13px; white-space: normal; gap: 6px; display: none; }
  .pc-news-line.is-active { display: flex; opacity: 1; transform: none; }
  .pc-news-line .date { font-size: 12px; }
  .pc-news-line .cat { font-size: 11px; padding: 1px 6px; }
  .pc-news-line .txt { width: 100%; margin-top: 2px; font-size: 13px; line-height: 1.5; }

  /* === SUBSIDY HERO === */
  .subsidy-hero-section { padding: 20px 10px 30px; }
  .subsidy-hero-panel { border-radius: 16px; padding: 0 12px 16px; }
  .subsidy-hero-heading img { max-width: 100%; }
  .subsidy-hero-desc { font-size: 16px; margin-bottom: 16px; }
  .subsidy-detail-btn { font-size: 18px; padding: 10px 20px; }

  /* hero-slider2 内カード */
  .hero-slider2 { max-width: 100%; padding: 0 40px; }
  .hero-slider2-track { gap: 0; }
  .hero-slider2-track > .hc { flex: 0 0 100%; }
  .hero-slider2-arrow { width: 32px; height: 32px; font-size: 18px; }
  .hc { border-radius: 10px; }
  .hc__title { font-size: 20px; }
  .hc__product-name { font-size: 18px; margin: 6px 10px 8px; }
  .hc__num { width: 70px; height: 70px; }
  .hc__spec-tag { font-size: 12px; padding: 2px 6px; }
  .hc__price-badge { width: 90px; height: 90px; margin-left: -30px; }
  .hc__price-main .pnum { font-size: 64px !important; margin-left: -2px; }
  .hc__price-main .pdec { font-size: 52px !important; }
  .hc__price-main .pdot { font-size: 32px !important; }
  .hc__price-main .pyaku { font-size: 22px; }
  .hc__price-main .punit { font-size: 14px; }
  .hc__price-tax { font-size: 12px; }

  /* === LINEUP === */
  .lineup-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    margin: 15px !important;
  }
  .l-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }
  .l-card { width: 100% !important; }
  .l-card__name { font-size: 14px; }
  .l-card__price .num { font-size: 28px; }
  .l-card__price .unit { font-size: 14px; }

  /* === CTA（添付画像準拠） === */
  .pc-only { display: none; }
  .sp-br-block { display: block; }

  .cta-band { position: relative; overflow: visible; }
  .adv-banner {
    display: flex !important;
    flex-direction: column !important;
    min-height: auto !important;
    padding: 0 !important;
    position: relative !important;
  }
  .adv-staff-left { display: none; }

  /* 中央: オレンジ背景 + キャラ左背面 + キャッチ右前面 */
  .adv-center {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    text-align: center !important;
    padding: 28px 20px 22px !important;
    min-height: 200px !important;
    z-index: 2 !important;
  }
  .adv-lead {
    font-size: 16px !important; line-height: 1.7;
    color: #fff !important; text-align: center;
    margin: 0 !important;
    position: relative !important; z-index: 2;
  }
  .adv-title {
    font-size: 32px !important; line-height: 1.3;
    text-align: center !important;
    margin: 0 !important;
    text-shadow: 2px 2px 3px rgba(0,0,0,.25) !important;
    position: relative !important; z-index: 2;
  }

  /* キャラクター: adv-banner基準で左下・背面配置 */
  .adv-right {
    position: absolute !important;
    left: -10px !important; bottom: 150px;
    width: 200px !important; height: auto;
    padding: 0 !important;
    z-index: 1 !important;
    display: block !important;
  }
  .adv-right-content { display: none !important; }
  .adv-right .adv-chara {
    display: block !important;
    position: relative !important;
    width: 100% !important; height: auto;
    right: auto !important; bottom: auto !important;
    margin: 0 !important;
  }

  /* お電話するボタン（上）→ バー（下）の順 */
  .adv-tel-row { display: none !important; }
  .adv-tel-num { display: none !important; }
  .adv-tel-img { display: none !important; }
  .sp-cta-tel-btn {
    display: flex !important;
    align-items: center !important; justify-content: center; gap: 10px;
    background: #fff !important; color: #ff7a3d;
    font-size: 20px !important; font-weight: 800;
    padding: 16px 20px !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.15) !important;
    margin: 16px 20px 0 !important;
    width: calc(100% - 40px) !important;
    max-width: none !important;
    transition: transform .15s !important;
    order: 5 !important;
    position: relative !important; z-index: 2;
  }
  .sp-cta-tel-btn:active { transform: translateY(2px); }
  .sp-cta-tel-btn svg { flex-shrink: 0; fill: #ff7a3d; }

  /* 下部バー（ボタンの下） */
  .adv-bar {
    background: rgba(0,0,0,.6) !important;
    color: #fff !important;
    font-size: 14px !important;
    text-align: center !important;
    padding: 14px 16px !important;
    margin-top: 10px !important;
    border-radius: 0 !important;
    line-height: 1.7 !important;
    order: 10 !important;
    width: 100% !important;
  }

  /* === WORKS === */
  .wc-outer { top: 0; flex-direction: column; }
  .wc-track { flex-direction: column; gap: 16px; padding: 16px !important; }
  .wc-card { flex: none !important; width: 100% !important; }
  .wc-card:nth-child(n+5) { display: none; }
  .wc-viewport { overflow: visible; }
  .wc-arrow, .wc-dots { display: none !important; }
  .wc-track { transform: none !important; }

  /* === LOCAL ACHIEVEMENT === */
  .local-achv-banner {
    flex-direction: column-reverse !important; height: auto; width: 100%;
    border-radius: 0 !important;
  }
  .local-achv-person { width: 100%; height: 430px; justify-content: center; order: -1; z-index: 1; position: absolute; margin-left: -180px; }
  .local-achv-person img { height: 100%; width: auto; }
  .local-achv-right {
    flex-direction: column !important; padding: 20px 16px; margin-left: 0;
    border-radius: 0 !important; gap: 16px; order: 1;
  }
  .local-achv-col { z-index: 10; }
  .local-achv-section { background: #4f9a2c !important; }
  .local-achv-banner { margin-top: 0; }

  /* === VOICE === */
  /* === VOICE（添付画像準拠） === */
  .pc-section--voice {
    background-image: none !important;
    padding: 40px 0 50px !important;
  }
  .container--voice { max-width: 100% !important; padding: 0 16px !important; box-sizing: border-box; }

  .voice-new-layout { flex-direction: column; }
  .voice-img-left {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin-bottom: 110px !important;
    order: -1 !important;
  }
  .voice-img-left img {
    display: block !important;
    width: 100% !important;
    max-width: 360px !important;
    margin: 0 auto !important;
  }
  .voice-right { width: 100% !important; order: 1; }

  .sp-voice-chart { display: none !important; }
  .voice-sub-img {
    position: static !important;
    width: 100% !important;
    max-width: 390px !important;
    margin: -120px auto -8px !important;
  }
  .voice-sub-img--pc { display: none !important; }
  .voice-sub-img--sp { display: block !important; }

  .voice-intro-new {
    position: relative !important;
    display: flex !important; flex-direction: column; align-items: center;
    margin: 0 0 20px !important;
    padding: 16px !important;
    border-radius: 12px !important;
  }
  .voice-intro-text { text-align: center; font-size: 20px; padding-right: 0 !important; margin: 0; }
  .voice-intro-em { font-size: 20px; }

  .voice-carousel-outer {
    flex-direction: row !important;
    padding: 0 !important;
    gap: 0 !important;
    position: relative !important;
    align-items: center !important;
  }
  .voice-scroll {
    display: flex !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    flex: 1 !important;
    scrollbar-width: none !important;
  }
  .voice-scroll::-webkit-scrollbar { display: none; }
  .voice-track {
    display: contents !important;
  }
  .v-card {
    flex: 0 0 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 20px 16px !important;
    box-sizing: border-box !important;
    scroll-snap-align: start !important;
  }
  .v-card .q {
    min-height: auto !important;
    overflow: visible !important;
    -webkit-line-clamp: unset !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
  }
  .v-card::before { top: 4px; right: 16px; font-size: 36px; }
  .v-card .stars { font-size: 20px; }
  .voice-arrow {
    width: 36px !important; height: 36px;
    font-size: 18px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important; justify-content: center;
    background: #fff !important;
    border: 2px solid rgba(255,255,255,.5) !important;
    border-radius: 50% !important;
    color: var(--c-navy) !important;
    z-index: 5 !important;
  }
  .btn-voice-more {
    font-size: 17px !important;
    padding: 14px 40px !important;
    margin-top: 20px !important;
    display: block !important;
    text-align: center !important;
    width: fit-content !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* === REASONS === */
  .reasons-grid { grid-template-columns: 1fr !important; gap: 24px; margin: 15px; }
  .reason-card { max-width: 100%; }

  /* === COMPANY === */
  .pc-only-company { display: none !important; }
  .sp-only-company { display: block !important; }

  .sp-company-hero {
    position: relative !important;
    background-size: cover !important;
    background-position: center !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    margin-bottom: 16px !important;
  }
  .sp-company-hero::before {
    content: '' !important;
    position: absolute !important; inset: 0;
    background: rgba(255,255,255,.72) !important;
  }
  .sp-company-hero-inner {
    position: relative !important; z-index: 1;
    padding: 30px 20px 28px !important;
  }
  .sp-company-hero-inner .company-script { font-size: 36px; }
  .sp-company-hero-inner .company-hero-title { font-size: 22px; }
  .sp-company-hero-inner .company-tag { font-size: 18px; padding: 3px 14px; }

  .sp-company-photos {
    display: flex !important;
    gap: 10px !important;
    margin-bottom: 16px !important;
    justify-content: center !important;
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
  .sp-company-photos img {
    border-radius: 10px !important;
    object-fit: cover !important;
  }
  .sp-company-photos img:first-child {
    flex: 0 0 37.5% !important;
    aspect-ratio: 4 / 2 !important;
    width: 30% !important;
  }
  .sp-company-photos img:last-child {
    flex: 1 !important;
    aspect-ratio: 3 / 4 !important;
    width: 30% !important;
  }

  .sp-company-text {
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: var(--c-text) !important;
    padding: 0 30px !important;
  }
  .sp-company-text p { margin: 0 0 12px; }

  /* === BANNER === */
  .banner-section .container {
    flex-direction: column !important; gap: 12px; align-items: center;
  }
  .banner-item { width: 100% !important; max-width: 100%; }
  .banner-item img { width: 100%; }

  /* === AREA === */
  .area-band .container > * { width: 100% !important; }
  .area-new-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }
  .area-left {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  .area-left-img { width: 100% !important; }
  .area-left-img img { width: 100%; border-radius: 10px; }
  .area-right {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  .area-right-imgs {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    position: relative !important;
    height: auto !important;
  }
  .area-stamp-img {
    position: static !important;
    width: 30% !important;
    flex-shrink: 0 !important;
    margin-top: -120px !important;
  }
  .area-map-img {
    width: 65% !important;
    flex: 1 !important;
  }
  .area-info-box {
    width: 100% !important;
    padding: 20px 16px !important;
  }
  .area-band { padding: 56px 0px 64px; }
  .area-main-title { font-size: 30px; text-align: center; }
  .area-catch { font-size: 16px; text-align: center; }
  .area-info-title { font-size: 24px; }

  /* === COLUMN === */
  .col-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    margin: 15px !important;
  }
  .col-card:nth-child(n+4) { display: none; }

  /* === INSTAGRAM === */
  .insta-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
    margin: 15px !important;
  }
  .insta-head {
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
    text-align: center !important;
  }
  .insta-head .btn-line { display: none; }
  .insta-grid + .sp-insta-btn-wrap { display: block; text-align: center; margin-top: 16px; }

  /* === FLOW === */
  .flow {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    margin: 15px !important;
  }
  .flow-step {
    padding-bottom: 16px !important;
    border-bottom: none !important;
    position: relative !important;
  }
  .flow-step:last-child .sp-flow-arrow { display: none; }
  .flow-step::after { display: none !important; }
  .flow-step .ic-wrap { width: 64px; height: 64px; margin: 0 auto 12px; }
  .sp-flow-arrow {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important; height: 44px;
    margin: 8px auto !important;
    background: #fff !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.1) !important;
    font-size: 32px !important;
    color: var(--c-orange) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    transform: rotate(90deg) !important;
    padding-left: 3px !important;
  }

  /* === FOOTER === */
  .pc-foot-col { display: none; }
  .pc-foot-grid {
    grid-template-columns: 1fr !important;
  }
  .pc-foot-brand { text-align: center; }
  .pc-foot-brand .pc-brand { justify-content: center; }
  .pc-foot-brand .pc-brand-name { text-align: center; }
  .pc-foot-sns { justify-content: center; }
  .pc-foot-bottom { flex-direction: column; align-items: center; gap: 8px; font-size: 12px; }

  /* === 共通 === */
  .container { padding: 0 0px !important; }
  .pc-section { padding: 40px 0; }
  .pc-head { margin-bottom: 16px; }
  .pc-head .en { font-size: 18px !important; }
  .pc-head .jp { font-size: 27px !important; }
  .pc-head .sub { font-size: 14px !important; }
}

/* ====================================================
   Smartphone (≤440px)
   ==================================================== */
@media (max-width: 440px) {
  .pc-brand-name { font-size: 22px !important; }
  .hero-slide-1w--full { height: 180px; }
  .hc-wide__pnum { font-size: 48px !important; }
  .hc-wide__title { font-size: 17px; }
  .hc-wide__price-label { font-size: 12px; }
  .hc-wide__price-original { font-size: 15px; }

  .subsidy-hero-desc { font-size: 14px; }
  .subsidy-detail-btn { font-size: 19px; padding: 8px 16px; }

  .l-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px; }
  .l-card__name { font-size: 18px; }
  .pc-footer { padding: 40px 0 0; }
  .l-card__price .pre { font-size: 14px; }
  .card-title .keyword { font-size: 1.5rem; }
  .insta-handle { margin-top: 15px; }
  #instagram .pc-head .jp { font-size: 28px; }
  .br-hide-sp { display: inline; }
  .subsidy-note-text { font-size: 13px !important; }
  .hc__price-main { justify-content: space-evenly; }
  .l-card__price .num { font-size: 50px; }

  .adv-title { font-size: 36px; }
  .adv-tel-num { font-size: 24px; }

  .pc-head .jp { font-size: 27px !important; }
  .pc-head .en { font-size: 17px; }

  .company-hero-title { font-size: 20px; }

  .sp-bottom-btn { font-size: 16px; padding: 10px 0; }
  .sp-bottom-tel { font-size: 13px; }

  .local-achv-person { height: 370px; }
  .local-achv-img--ribbon, .local-achv-img--no1, .local-achv-img--result, .local-achv-img--area { width: 100% !important; }
  .local-achv-img--badge { width: 180px; }
  .local-achv-note { font-size: 14px; }
  .local-achv-col { z-index: 10; }
}


/* ====================================================
   WordPress移行 修正パッチ（最終優先）
   ==================================================== */

/* --- ハンバーガー/TELメニュー PC時非表示 --- */
.sp-hamburger { display: none !important; }
.sp-header-icons { display: none !important; }
.sp-nav-overlay { display: none !important; visibility: hidden !important; pointer-events: none !important; }
.sp-tel-overlay { display: none !important; visibility: hidden !important; pointer-events: none !important; }
.sp-bottom-bar { display: none !important; }
.sp-cta-tel-btn { display: none !important; }
.sp-voice-chart { display: none !important; }
.voice-sub-img--sp { display: none !important; }
.sp-only-company { display: none !important; }
.sp-hero { display: none !important; }
.sp-br-block { display: inline !important; }
.br-hide-sp { display: block !important; }
.sp-flow-arrow { display: none !important; }
.sp-insta-btn-wrap { display: none !important; }
.pc-only { display: inline !important; }

/* --- フォント色 白色修正 --- */
.adv-center { color: #fff !important; padding: 20px 32px 16px !important; }
.adv-lead { color: #fff !important; }
.adv-title {  }
.adv-title span { color: #fff !important; }
.adv-bar { color: #fff !important; background: var(--c-navy) !important; }
.adv-tel-btn .label { color: #fff !important; }
.adv-right-ttl { color: #fff !important; }
.adv-contact-txt { color: #fff !important; }
.adv-contact-txt .big {  }
.pc-section--voice {  }
.pc-section--voice .pc-head .en,
.pc-section--voice .pc-head .jp,
.pc-section--voice .pc-head .sub { color: #fff !important; }
.pc-footer { color: #fff !important; }
.pc-footer a { color: #1a1a1a !important; }
.pc-foot-brand .pc-brand-name { color: var(--c-navy) !important; }

/* --- area-band 余白 --- */
.area-band { padding: 56px 5% 64px !important; }
.area-band .container { padding: 0 32px !important; }

/* --- hero-slider2 PC表示 --- */
.hero-slider2-viewport { overflow-x: hidden !important; overflow-y: hidden !important; }
.hero-slider2-track { display: flex !important; }
.hero-slider2-track > .hc { flex: 0 0 calc((100% - 20px) / 3) !important; min-width: 0 !important; }

/* --- local-achv PC表示 --- */
.local-achv-banner { display: flex !important; overflow: hidden !important; }
.local-achv-right { display: flex !important; flex: 1 !important; align-items: flex-end !important; justify-content: space-around !important; padding: 0 40px !important; }
.local-achv-col { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 10px !important; z-index: 10 !important; }
.local-achv-person { display: flex !important; }

/* ====================================================
   レスポンシブ修正パッチ（≤1124px）
   ==================================================== */
@media (max-width: 1124px) {
  /* ハンバーガー/TELメニュー表示 */
  .sp-hamburger { display: flex !important; }
  .sp-header-icons { display: flex !important; position: fixed !important; top: 12px !important; right: 16px !important; z-index: 200 !important; }
  .sp-nav-overlay {
    display: flex !important; flex-direction: column !important;
    position: fixed !important; inset: 0 !important; z-index: 150 !important;
    background: #f1eeea !important;
    opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
    transition: opacity .3s ease, visibility .3s ease !important;
  }
  .sp-nav-overlay.is-open {
    opacity: 1 !important; visibility: visible !important; pointer-events: auto !important;
  }
  .sp-tel-overlay {
    display: flex !important; flex-direction: column !important;
    position: fixed !important; inset: 0 !important; z-index: 150 !important;
    background: #f1eeea !important;
    opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
    transition: opacity .3s ease, visibility .3s ease !important;
  }
  .sp-tel-overlay.is-open {
    opacity: 1 !important; visibility: visible !important; pointer-events: auto !important;
  }
  .sp-bottom-bar { display: flex !important; flex-direction: column !important; position: fixed !important; bottom: 0 !important; left: 0 !important; right: 0 !important; z-index: 200 !important; }
  .sp-cta-tel-btn { display: flex !important; }
  .sp-br-block { display: block !important; }
  .pc-only { display: none !important; }

  /* hero-slider2 1カード表示 */
  .hero-slider2-track > .hc { flex: 0 0 100% !important; min-width: 100% !important; }
  .hero-slider2-track { gap: 0 !important; }

  /* SP HERO表示 */
  .pc-hero { display: none !important; }
  .sp-hero { display: block !important; }

  /* local-achv SP表示修正 */
  .local-achv-banner { flex-direction: column-reverse !important; height: auto !important; width: 100% !important; }
  .local-achv-right { flex-direction: column !important; padding: 20px 16px !important; margin-left: 0 !important; border-radius: 0 !important; gap: 16px !important; }
  .local-achv-person { width: 100% !important; height: 430px !important; position: absolute !important; margin-left: -180px !important; z-index: 1 !important; }
  .local-achv-col { z-index: 10 !important; }
  .local-achv-section { background: #4f9a2c !important; }

  /* CTA SP修正 */
  .adv-center { padding: 28px 20px 22px 140px !important; min-height: 200px !important; }

  /* voice SP画像切替 */
  .voice-sub-img--pc { display: none !important; }
  .voice-sub-img--sp { display: block !important; }

  /* SP用会社案内 */
  .pc-only-company { display: none !important; }
  .sp-only-company { display: block !important; }

  /* side-fixed非表示 */
  .side-fixed { display: none !important; }
}

@media (max-width: 440px) {
  .adv-center { padding: 28px 16px 22px 120px !important; }
  .local-achv-person { height: 370px !important; }
}

/* ====================================================
   WordPress移行 最終修正パッチ v2
   ==================================================== */

/* --- pc-news レスポンシブ --- */
@media (max-width: 1124px) {
  .pc-news { position: relative !important; z-index: 1 !important; }
  .pc-news-inner { flex-direction: row !important; padding: 10px 5px !important; align-items: flex-start !important; gap: 10px !important; }
  .pc-news-label { font-size: 12px !important; padding: 3px 10px !important; flex-shrink: 0 !important; }
  .pc-news-ticker { min-height: auto !important; flex: 1 !important; height: auto !important; position: relative !important; overflow: visible !important; }
  .pc-news-line { position: relative !important; inset: auto !important; flex-wrap: wrap !important; font-size: 13px !important; white-space: normal !important; gap: 6px !important; display: none !important; }
  .pc-news-line.is-active { display: flex !important; opacity: 1 !important; transform: none !important; }
  .pc-news-line .txt { width: 100% !important; margin-top: 2px !important; font-size: 13px !important; line-height: 1.5 !important; }
}

/* --- hero-slider2-arrow 比率修正 --- */
.hero-slider2-arrow {
  width: 48px !important;
  height: 48px !important;
  font-size: 28px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* --- area-band レスポンシブ余白 --- */
@media (max-width: 1124px) {
  .area-band { padding: 40px 16px !important; }
  .area-band .container { padding: 0 !important; }
  .area-new-layout { display: flex !important; flex-direction: column !important; gap: 20px !important; }
  .area-left { width: 100% !important; }
  .area-left-img { width: 100% !important; }
  .area-right { width: 100% !important; }
  .area-info-box { width: 100% !important; padding: 20px 16px !important; }
  .area-main-title { font-size: 30px !important; text-align: center !important; }
}

/* --- adv-center PC版余白修正 --- */
.adv-center {
  padding: 20px 32px 26px !important;
  position: relative !important;
}
.adv-banner {
  display: grid !important;
  min-height: auto !important;
}
.cta-band {
  padding: 0 !important;
  margin: 0 !important;
}

/* --- adv-center SP版修正 --- */
@media (max-width: 1124px) {
  .adv-banner {
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
  }
  .adv-center {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    text-align: center !important;
    padding: 28px 20px 22px 140px !important;
    min-height: 200px !important;
    z-index: 2 !important;
  }
  .adv-lead { font-size: 16px !important; margin: 0 !important; }
  .adv-title { font-size: 32px !important; margin: 0 !important; text-shadow: 2px 2px 3px rgba(0,0,0,.25) !important; }
  .adv-right {
    position: absolute !important;
    left: -10px !important; bottom: 150px !important;
    width: 200px !important; height: auto !important;
    padding: 0 !important; z-index: 1 !important;
    display: block !important;
  }
  .adv-right-content { display: none !important; }
  .adv-chara { display: block !important; position: relative !important; width: 100% !important; height: auto !important; margin: 0 !important; }
  .adv-staff-left { display: none !important; }
  .adv-tel-row { display: none !important; }
  .adv-tel-num { display: none !important; }
  .adv-tel-img { display: none !important; }
  .sp-cta-tel-btn {
    display: flex !important;
    background: #fff !important; color: #ff7a3d !important;
    font-size: 20px !important; font-weight: 800 !important;
    padding: 16px 40px !important; border-radius: 12px !important;
    margin: 20px auto 0 !important; max-width: 280px !important;
    align-items: center !important; justify-content: center !important; gap: 10px !important;
    order: 5 !important; position: relative !important; z-index: 2 !important;
  }
  .sp-cta-tel-btn svg { fill: #ff7a3d !important; }
  .adv-bar {
    background: rgba(0,0,0,.6) !important; color: #fff !important;
    font-size: 14px !important; text-align: center !important;
    padding: 14px 16px !important; margin-top: 10px !important;
    order: 10 !important; width: 100% !important;
  }
}

/* --- flow-step SP修正 --- */
@media (max-width: 1124px) {
  .flow {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    margin: 15px !important;
  }
  .flow-step {
    padding: 24px 18px !important;
    border-bottom: none !important;
    position: relative !important;
  }
  .flow-step::after { display: none !important; }
  .flow-step .ic-wrap { width: 64px !important; height: 64px !important; margin: 0 auto 12px !important; }
  .flow-step .ttl { font-size: 18px !important; font-weight: 700 !important; }
  .flow-step .desc { font-size: 14px !important; line-height: 1.6 !important; }
  .sp-flow-arrow {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important; height: 44px !important;
    margin: 8px auto !important;
    background: #fff !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.1) !important;
    font-size: 32px !important;
    color: var(--c-orange) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    transform: rotate(90deg) !important;
    padding-left: 3px !important;
  }
}

@media (max-width: 440px) {
  .adv-center { padding: 28px 16px 22px 120px !important; }
  .adv-title { font-size: 36px !important; }
  .flow-step .ic-wrap { width: 56px !important; height: 56px !important; }
}
