@charset "UTF-8";
/* ----------------------------------------------------------------------
トップページ
---------------------------------------------------------------------- *//*# sourceMappingURL=index.css.map */

/* =============================================
   01 HERO
   ============================================= */
#prefab .hero {
  position: relative;
  background-size: cover;
  background-position: 40% 38%;;
  background-repeat: no-repeat;
  background-image: image-set(
  url("https://sunrise-company.co.jp/wp_7/wp-content/themes/sunrise-company-theme/images/main-img.webp") 1x,
  url("https://sunrise-company.co.jp/wp_7/wp-content/themes/sunrise-company-theme/images/main-img@2x.webp") 2x
);
}
#prefab .hero-inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: stretch;
  min-height: 620px;
  margin: 0 auto;
	margin-top:3rem;
}
#prefab .hero-left {
  width: 80%;
  padding: 80px 80px;
  display: flex;
  flex-direction: column;
  margin: auto 0;
}


#prefab .hero-h1 {
  font-family: var(--serif-jp);
  font-size: 2.875rem;
  font-weight: 600;
  line-height: 1.74;
  letter-spacing: 0.03em;
  margin-bottom: 28px;
  flex: 1;
}
#prefab .hero-h1 small{font-size:}
#prefab .hero-h1 .accent span{
  color:black;
	margin-right:10px;
  background-color:#fff33f;
  padding:0px 15px;
}
#prefab .hero-h1 span{
	color: var(--green);
}
#prefab .hero-h1 .accent .bottom-txt{
    background-color: initial;
	box-shadow: inset 0 -20px 0 #fff33f;
}
#prefab .hero-sub {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 2;
  margin-bottom: 44px;
  text-shadow: 0 1px 8px  rgba(255, 255, 255, 0.89);
}
#prefab .hero-btns { display: flex; flex-wrap: wrap; gap: 14px; }
/* ヒーロー上のボタン（すべて白背景・ホバーで緑） */
#prefab .hero-btns .btn-primary,
#prefab .hero-btns .btn-secondary {
  color: #fff;
  background: var(--green);
  border: 2px solid var(--green);
	border-radius:8px;
}
#prefab .hero-btns .btn-primary:hover,
#prefab .hero-btns .btn-secondary:hover {
  background: #fff;
  color: var(--green);
  border-color: var(--green);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.22);
}
/* 写真クレジット注記 */
#prefab .hero-credit {
  position: absolute;
  right: 20px;
  bottom: 16px;
  z-index: 2;
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.7);
  background: rgba(31,82,64,0.4);
  padding: 4px 12px;
  border-radius: 2px;
}

/* =============================================
   FIXED CTA BAR
   ============================================= */
#prefab .fixed-bar {
  background: var(--green-wash);
  border-bottom: 1px solid var(--border);
}
#prefab .fixed-bar-inner {
  max-width: 1440px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  min-height: 64px;
}
#prefab .fbar-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--green);
  border-right: 1px solid var(--border);
  letter-spacing: 0.04em;
  cursor: pointer;
  padding: 14px;
}
#prefab .fbar-btn:last-child { border-right: none; }
#prefab .fixed-bar-note {
  text-align: center;
  font-size: 0.75rem;
  color: var(--ink-4);
  letter-spacing: 0.06em;
  padding: 6px;
  background: var(--paper);
  border-bottom: 1px solid var(--border-lt);
}

/* スマホ固定バー（モック） */
 .mobile-fixed-bar { display: none; }

/* =============================================
   02 TROUBLES
   ============================================= */
#prefab .trouble-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-bottom: 36px;
}
#prefab .trouble-item {
  padding: 24px 24px;
  font-size: 1.0625rem;
  font-weight: 500;
  color: var(--ink-2);
  line-height: 1.55;
  border: 1px solid var(--border);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 14px;
}
#prefab .trouble-icon {
  width: 96px;
  height: 72px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
#prefab .trouble-icon svg {
  width: 52px;
  height: 52px;
  stroke: var(--green);
  fill: none;
}
#prefab .trouble-icon img {
  height: 100%;
  width: auto;
  object-fit: contain;
}

#prefab .trouble-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  background: var(--green-wash);
/*   border: 1px solid var(--green); */
  padding: 28px 36px;
}
#prefab .trouble-cta-text { font-size: 1.1875rem; font-weight: 500; color: var(--ink-2); line-height: 1.7; }
#prefab .trouble-cta-text strong { color: var(--green); }

/* =============================================
   03 REASONS
   ============================================= */
#prefab .reason-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
#prefab .reason-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 16px rgba(31,82,64,0.06);
}
/* 上部：緑ブロック */
#prefab .reason-top {
  background: #5a8a72;
  padding: 22px 22px 24px;
  position: relative;
}
#prefab .reason-num {
  font-family: var(--sans-en);
font-weight:700;
  font-size: 2.8rem;
  color: rgba(255,255,255,0.92);
  line-height: 1;
  letter-spacing: 0.02em;
  margin-bottom: 16px;
}
#prefab .reason-img {
  aspect-ratio: 16/9;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.22);
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-bottom: 20px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
#prefab .reason-img.has-photo { border-color: rgba(255,255,255,0.35); }
#prefab .reason-img.has-photo .ph-ico,
#prefab .reason-img.has-photo .ph-cap { display: none; }
#prefab .reason-img .ph-ico { font-size: 1.5rem; opacity: 0.7; color: #fff; }
#prefab .reason-img .ph-cap { font-size: 0.75rem; color: rgba(255,255,255,0.65); letter-spacing: 0.04em; }
#prefab .reason-title {
  font-family: var(--serif-jp);
  font-size: 1.1875rem;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.55;
  letter-spacing: 0.01em;
}
/* 下部：白ブロック（説明文） */
#prefab .reason-body {
  font-size: 1rem;
  color: var(--ink);
  line-height: 1.9;
  padding: 22px 24px 26px;
  flex: 1;
}


/* =============================================
   04 USE CASES
   ============================================= */
#prefab .use-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}
#prefab .use-card {
  background: #5a8a72;
  border-radius: 12px;
  padding: 32px 22px 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  box-shadow: 0 4px 16px rgba(31,82,64,0.10);
}
/* 円形アイコン枠（イラストを入れる枠） */
#prefab .use-icon {
  width: 112px;
  height: 112px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  background: #fff;
  flex-shrink: 0;
}
/* 枠内に入れる絵文字／イラスト */
#prefab .use-icon .use-emoji { font-size: 3.25rem; line-height: 1; }
/* 画像イラストを入れる場合のクラス（円内に収める） */
#prefab .use-icon img {
  width: 68px;
  height: 68px;
  object-fit: contain;
}
#prefab .use-card-head {
  font-family: var(--serif-jp);
  font-size: 1.125rem;
  font-weight: 600;
  color: #ffffff;
  letter-spacing: 0.02em;
  margin-bottom: 14px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,0.28);
  width: 100%;
}
#prefab .use-card-body {
  font-size: 1rem;
  color: rgba(255,255,255,0.88);
  line-height: 1.85;
  text-align: left;
}


/* =============================================
   05 PRICE
   ============================================= */
#prefab .price-layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 64px;
  align-items: start;
}
#prefab .price-table { width: 100%; border-collapse: collapse; }
#prefab .price-table thead th {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--green);
   padding: 14px 20px;
  border-bottom: 1px solid var(--border-lt);
  text-align: left;
}
#prefab .price-table thead th:last-child { text-align: center; width: 42%; background: var(--green-wash);}
#prefab .price-table td {
  font-size: 1.1875rem;
  font-weight: 600;
  color: var(--ink);
  padding: 18px 20px;
  border-bottom: 1px solid var(--border-lt);
  vertical-align: middle;
}
#prefab .price-table td.pval {
  font-family: var(--serif-jp);
  font-size: 1.375rem;
  font-weight: 600;
  color: var(--green);
  text-align: center;
  width: 42%;
  letter-spacing: 0.01em;
	background: var(--green-wash);
}
#prefab .price-note {
  font-size: 1rem;
  color: var(--ink);
  margin-top: 22px;
  line-height: 1.8;
}
#prefab .price-cta-box {
  background: var(--green-wash);
  border: 1px solid var(--green);
  border-radius: 10px;
  padding: 44px 36px;
  text-align: center;
  position: sticky;
  top: 96px;
}
#prefab .price-cta-title {
  font-family: var(--serif-jp);
  font-size: 1.5625rem;
  font-weight: 600;
  color: var(--green);
  margin-bottom: 14px;
  line-height: 1.5;
}
#prefab .price-cta-sub {
  font-size: 1rem;
  color: var(--ink);
  margin-bottom: 28px;
  line-height: 1.85;
}

/* =============================================
   06 SHOWROOM
   ============================================= */
#prefab .showroom-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
}
#prefab .img-ph {
  background: var(--green-wash);
  border: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
#prefab .img-ph.has-photo .ph-ico,
#prefab .img-ph.has-photo .ph-cap { display: none; }
#prefab .img-ph.has-photo { border: none; border-radius: 10px; }
#prefab .img-ph .ph-ico { font-size: 2.125rem; opacity: 0.3; }
#prefab .img-ph .ph-cap { font-size: 0.875rem; color: var(--green-3); letter-spacing: 0.06em; }
#prefab .img-main { aspect-ratio: 2 / 1; margin-bottom: 14px; }
#prefab .map-ph {
  height: 200px;
  background: var(--wash-1);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9375rem;
  color: var(--ink-4);
  letter-spacing: 0.05em;
  gap: 8px;
}
#prefab .info-table { width: 100%; border-collapse: collapse; margin-bottom: 36px; }
#prefab .info-table tr { border-bottom: 1px solid var(--border-lt); }
#prefab .info-table tr:first-child { border-top: 1px solid var(--border-lt); }
#prefab .info-table td { padding: 18px 20px; font-size: 1.125rem; vertical-align: top; }
#prefab .info-table td.lbl {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--green);
  width: 120px;
	text-align:center;
}
#prefab .info-table td.val {
  color: var(--ink);
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
/* 見出しと同じ明朝体にする値（所在地・会社名など） */
#prefab .val-serif {
  font-weight: 400 !important;
  font-size: 1rem !important;
  letter-spacing: 0.02em;
}

/* =============================================
   07 FLOW
   ============================================= */
#prefab .flow-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  border: 1px solid var(--border);
}
#prefab .flow-item {
  padding: 36px 22px;
  border-right: 1px solid var(--border);
  position: relative;
}
#prefab .flow-item:last-child { border-right: none; }
.flow-num {
  font-family: var(--sans-en);
	font-weight: 700;
    font-size: 2.8rem;
  color: var(--green);
  opacity: 0.4;
  line-height: 1;
  margin-bottom: 12px;
  letter-spacing: 0.02em;
}
#prefab .flow-title {
  font-family: var(--serif-jp);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 2px solid var(--green);
  line-height: 1.5;
}
#prefab .flow-body { font-size: 1rem; color: var(--ink); line-height: 1.85; }
#prefab .flow-arr {
  position: absolute;
  right: -13px;
  top: 38px;
  width: 26px;
  height: 26px;
  background: var(--white);
  border: 1.5px solid var(--green);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  color: var(--green);
  z-index: 1;
}

/* =============================================
   08 CASES
   ============================================= */
/* カテゴリーフィルター */
#prefab .case-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 32px;
}
#prefab .case-filter-btn {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--green);
  background: var(--white);
  border: 1.5px solid var(--green);
  border-radius: 4px;
  padding: 9px 20px;
  cursor: pointer;
}
#prefab .case-filter-btn.active {
  color: #ffffff;
  background: var(--green);
}
/* カードグリッド */
#prefab .case-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
#prefab .case-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 3px 12px rgba(31,82,64,0.05);
}
#prefab .case-img {
  aspect-ratio: 1/1;
  background: var(--green-wash);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
#prefab .product-thumb{width:100%; aspect-ratio: 1/1;position: relative;  overflow: hidden;  }
#prefab .product-thumb img{width:100%; height:100%; object-fit:cover;display:block;}
#prefab .case-img .ph-ico { font-size: 1.75rem; opacity: 0.3; }
#prefab .case-img .ph-cap { font-size: 0.8125rem; color: var(--green-3); }
#prefab .case-img.has-photo .ph-ico,
#prefab .case-img.has-photo .ph-cap { display: none; }
/* カテゴリータグ（右上） */
#prefab .case-cat-tag {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #ffffff;
  background: var(--green);
  padding: 4px 12px;
  border-radius: 3px;
  z-index: 2;
}
#prefab .case-body { padding: 20px 22px 22px; flex: 1; display: flex; flex-direction: column; }
#prefab .case-title {
  font-family: var(--serif-jp);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 14px;
  line-height: 1.6;
}
#prefab .case-meta { font-size: 1rem; color: var(--ink); line-height: 1.9; }
/* ページネーション */
#prefab .case-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 40px;
}
#prefab .case-page {
  min-width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--green);
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: 4px;
  cursor: pointer;
  padding: 0 6px;
}
#prefab .case-page.active {
	font-family:var(--sans-en);
  color: #ffffff;
  background: var(--green);
  border-color: var(--green);
}
#prefab .case-page.arrow { color: var(--ink-4); font-weight: 400; }


/* =============================================
   09 BUYBACK
   ============================================= */
#prefab .buyback-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 72px;
  align-items: start;
}
.buyback-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 20px;
}
#prefab .buyback-item {
  padding: 18px 22px;
  font-size: 1.0625rem;
  font-weight: 500;
  color: var(--ink);
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 12px;
}
#prefab .buyback-item::before {
  content: '✓';
  color: var(--green);
  font-weight: 700;
  font-size: 1.125rem;
  flex-shrink: 0;
}
#prefab .buyback-item.full { grid-column: 1/-1; }
#prefab .buyback-note {
  font-size: 1rem;
  color: var(--ink);
  line-height: 1.8;
}
#prefab .buyback-cta-box {
  background: var(--green-wash);
  border: 1px solid var(--green);
  border-radius: 10px;
  padding: 44px 36px;
  text-align: center;
}
#prefab .buyback-cta-title {
  font-family: var(--serif-jp);
  font-size: 1.5625rem;
  font-weight: 600;
  color: var(--green);
  margin-bottom: 14px;
  line-height: 1.5;
}
#prefab .buyback-cta-sub {
  font-size: 1rem;
  color: var(--ink);
  margin-bottom: 28px;
  line-height: 1.85;
}

/* =============================================
   10 FAQ
   ============================================= */
/* 
#prefab .faq-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 72px;
}
*/
#prefab .faq-sidebar-title { margin-bottom: 16px; }
#prefab .faq-cat-list { border: 1px solid var(--border); display: flex;flex-direction: column;}
#prefab .faq-cat {
  padding: 16px 20px;
  font-size: 1rem;
  color: var(--ink-3);
  border-bottom: 1px solid var(--border-lt);
  border-left: 3px solid transparent;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
#prefab .faq-cat:last-child { border-bottom: none; }
#prefab .faq-cat:hover {
  font-weight: 700;
  color: var(--green);
  background: var(--green-wash);
  border-left: 3px solid var(--green);
}
#prefab .faq-cat.active {
  font-weight: 700;
  color: var(--green);
  background: var(--green-wash);
  border-left: 3px solid var(--green);
}
/* リスト上にマウスがある間は、アクティブ項目の装飾を一旦解除 */
#prefab .faq-cat-list:hover .faq-cat.active {
  font-weight: 400;
  color: var(--ink-3);
  background: transparent;
  border-left: 3px solid transparent;
}
/* 実際にホバーしている項目だけを強調（アクティブ含む） */
#prefab .faq-cat-list:hover .faq-cat:hover {
  font-weight: 700;
  color: var(--green);
  background: var(--green-wash);
  border-left: 3px solid var(--green);
}
#prefab .faq-item { border-bottom: 1px solid var(--border-lt); padding: 28px 0; scroll-margin-top: 60px;}
#prefab .faq-item:first-child { border-top: 1px solid var(--border-lt);}
#prefab .faq-q {
  font-family: var(--serif-jp);
  font-size: 1.1875rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 12px;
  display: grid;
  grid-template-columns: 44px 1fr;
  line-height: 1.6;
}
#prefab .faq-q-badge {
  font-family: var(--sans-en);
  font-size: 1.5rem;
  color: var(--green);
  opacity: 0.65;
  line-height: 1.3;
}
#prefab .faq-a {
  font-size: 1.0625rem;
  color: var(--ink);
  line-height: 1.9;
  padding-left: 44px;
}
#prefab .faq-a::before {
font-family: var(--sans-en);
  content: 'A. ';
  font-weight: 700;
  color: var(--green);
}

/* =============================================
   11 COMPANY
   ============================================= */
#prefab .company-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
}
#prefab .co-table { width: 100%; border-collapse: collapse; }
#prefab .co-table tr { border-bottom: 1px solid var(--border-lt); }
#prefab .co-table tr:first-child { border-top: 1px solid var(--border-lt); }
#prefab .co-table td { padding: 18px 20px; font-size: 1.125rem; vertical-align: middle; }
#prefab .co-table td.lbl {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--green);
  width: 180px;
  padding: 18px 20px;
	text-align: center;
}
#prefab .co-table td.val {
  color: var(--ink);
  font-family: var(--serif-jp);
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
#prefab .co-table td.val span{
	display:block;
}
#prefab .greeting-box {
  background: var(--green-wash);
/*   border: 1px solid var(--green); */
  padding: 44px;
}
#prefab .greeting-lbl {
  font-family: var(--serif-jp);
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--green);
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--green);
}
#prefab .greeting-lbl span{
	font-size: 0.9rem;
}
#prefab .greeting-body { font-size: 1rem; color: var(--ink-2); line-height: 2.1; }

/* =============================================
   12 CONTACT
   ============================================= */
#prefab .contact-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 64px;
  align-items: start;
}
#prefab .tel-col {
  position: sticky;
  top: 96px;
}
#prefab .contact-form {
  background: var(--white);
  border: 1px solid var(--border);
  padding: 52px 48px;
}
#prefab .form-group { margin-bottom: 22px; }
#prefab .form-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-bottom: 9px;
}
#prefab .req {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--green);
  border: 1px solid var(--green);
  padding: 2px 8px;
  border-radius: 2px;
}
#prefab .form-field {
  width: 100%;
  height: 52px;
  background: var(--green-wash2);
  border: 1px solid var(--border);
  font-size: 1.0625rem;
  font-family: var(--sans);
  padding: 0 16px;
  color: var(--ink);
  border-radius: 0;
  outline: none;
  transition: border-color .15s ease, background .15s ease;
}
#prefab .form-field:focus {
  border-color: var(--green);
  background: var(--white);
}
/* 新規ラジオボタン */
#prefab .mwform-radio-field{
	display:block;
}
#prefab .mwform-radio-field{
	font-weight: normal;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 1.0625rem;
    color: var(--ink);
    padding: 15px 20px;
    border-bottom: 1px solid var(--border-lt);
}
#prefab .mw_wp_form .horizontal-item + .horizontal-item{
	margin-left:0;
}
#prefab .mwform-checkbox-field label, .mwform-radio-field label{
	cursor: pointer;
}


/* 自由記載欄（テキストエリア） */
#prefab .form-textarea {
  width: 100%;
  min-height: 110px;
  background: var(--green-wash2);
  border: 1px solid var(--border);
  font-size: 1rem;
  font-family: var(--sans);
  line-height: 1.7;
  padding: 14px 16px;
  color: var(--ink);
  border-radius: 0;
  resize: vertical;
  outline: none;
  transition: border-color .15s ease, background .15s ease;
}
#prefab .form-textarea:focus {
  border-color: var(--green);
  background: var(--white);
}
#prefab .form-field::placeholder,
#prefab .form-textarea::placeholder {
  color: var(--ink-4);
  font-size: 0.9375rem;
}
#prefab .form-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
#prefab .radio-group { border: 1px solid var(--border); }
#prefab .radio-item {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 1.0625rem;
  color: var(--ink);
  padding: 15px 20px;
  border-bottom: 1px solid var(--border-lt);
  cursor: pointer;
}
#prefab .radio-item:last-child { border-bottom: none; }
#prefab .radio-input {
  position: absolute;
  width: 1px; height: 1px;
  opacity: 0;
  pointer-events: none;
}
#prefab .radio-dot {
  width: 18px; height: 18px;
  border-radius: 50%;
  border: 1.5px solid var(--green-3);
  background: var(--white);
  flex-shrink: 0;
  position: relative;
  transition: border-color .15s ease;
}
#prefab .radio-input:checked + .radio-dot {
  border-color: var(--green);
}
#prefab .radio-input:checked + .radio-dot::after {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--green);
  transform: translate(-50%, -50%);
}
#prefab .radio-input:focus-visible + .radio-dot {
  outline: 2px solid var(--green);
  outline-offset: 2px;
}
#prefab .contact-form .mwform-tel-field{
	display: flex;
    gap: 0.5rem;
}

#prefab .tel-block {
  background: var(--green-wash);
  border: 2px solid var(--green);
  padding: 44px 36px;
  margin-bottom: 16px;
}
#prefab .tel-block .nav-tel{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid;
    border-radius: 30px;
    padding: 10px 0;
    background-color: var(--green);
    color: #fff;
    font-size: 1.1rem;
    font-weight: 500;
	transition:background-color 0.3s ease, color 0.3s,box-shadow 3s ease;
	margin:0 2rem;
}
#prefab .tel-block .nav-tel:hover{
	background-color:var(--green-wash2);
	color:var(--green);
	box-shadow:0 4px 12px rgba(0,0,0 ,0.3);
	
}

#prefab .tel-block .nav-tel .tel-icon{
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    fill: currentColor;
}
#prefab .tel-lbl {
  font-family: var(--serif-jp);
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--green);
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--green-3);
}
#prefab .tel-lbl span{
	font-size: 0.9rem;
}
#prefab .tel-num {
  font-family: var(--sans-en);
	font-weight:700;
  font-size: 2.5rem;
  color: var(--green);
  margin-bottom: 6px;
  letter-spacing: 0.02em;
	line-height: 1.5;
}
#prefab .tel-hours { font-size: 0.9375rem; color: var(--ink-3); margin-bottom: 20px; }
#prefab .tel-hr { border: none; border-top: 1px solid var(--border-lt); margin-bottom: 20px; }
#prefab .tel-note { font-size: 1rem; color: var(--ink-2); line-height: 1.9; margin-bottom:20px;}
#prefab .agree_btn{text-align:center; margin-top: 40px;}
#prefab .agree_btn .mwform-checkbox-field{display: block;color:var(--ink-2);}
#prefab .agree_btn .privacy_link{margin-bottom:0.8rem;color:text-decoration: underline;   }
#prefab .agree_btn .privacy_link a{color: blue;  text-decoration: underline;text-underline-offset: 3px;}
#prefab .agree_btn .privacy_link a:hover {text-decoration: none;
}


@media (max-width: 1400px) {
#prefab .hero-h1{
	font-size: 2.5rem;
	line-height: 1.7;
}
#prefab .hero-sub{
	font-size: 1rem;
	margin-bottom: 30px;
	}
#prefab .hero-inner{
	min-height: 500px;
	}
	#prefab .hero-btns .btn-primary, #prefab .hero-btns .btn-secondary{
		
	}
#prefab .price-table td,#prefab .price-table td.pval{
	font-size: 1.13rem;	
	}
}

@media (max-width: 1130px) {
	#prefab .hero-left{width: 100%;  padding: 80px 60px;}
	
}
/* =============================================
   RESPONSIVE — タブレット（〜1024px）
   ============================================= */
@media (max-width: 1024px) {
#prefab .price-layout,
  #prefab .showroom-layout,
  #prefab .buyback-layout,
  #prefab .faq-layout,
 #prefab .company-layout,
  #prefab .contact-layout { grid-template-columns: 1fr; gap: 40px; }
  #prefab .price-cta-box { position: static; }
  #prefab .tel-col { position: static; }
  #prefab .faq-cat-list { display: flex; flex-wrap: wrap; }
  #prefab .faq-cat { flex: 1; border-bottom: none; border-right: 1px solid var(--border-lt); text-align: center; }
  #prefab .use-grid { grid-template-columns: 1fr 1fr; gap: 12px; }

	#prefab .hero-h1{font-size:2.2rem;}
	#prefab .hero-sub{font-size:0.9rem;}
	
	#prefab .flow-grid { grid-template-columns: 1fr; }
	#prefab .flow-item { border-right: none !important; padding: 24px 20px; }
  #prefab .flow-item:not(:last-child) { border-bottom: 1px solid var(--border) !important; }
  /* 縦積み時：番号を小さく控えめに */
  #prefab .flow-num { font-size: 2rem; margin-bottom: 6px; }
  #prefab .flow-title { min-height: 0; }
	#prefab .flow-arr{display:none;}
	
	#prefab .greeting-body{font-size: 1rem;}
	#prefab .reason-num{font-size: 2.4rem;}
	#prefab .trouble-cta-text,#prefab .trouble-item{font-size: 1rem;}
	#prefab .reason-title{font-size: 1.125rem;}
	#prefab .t-body { font-size: 1.0625rem; margin-bottom: 30px;}
	#prefab .case-grid{grid-template-columns: repeat(3, 1fr);}
}
/* =============================================
   RESPONSIVE — スマートフォン（〜767px）
   ============================================= */
@media (max-width: 767px) {
  html { font-size: 15px; }
  body { padding-bottom: 66px; }
#prefab  .t-h2 span{display:block;}
  #prefab .s-inner { padding: 60px 0px; }
  #prefab .s-inner.tight { padding: 40px 20px; }
  #prefab .navbar-inner { padding: 0 20px; height: 68px; }
  #prefab .logo { font-size: 1.3125rem; }

  /* セクションヘッダー */
  #prefab .sec-head { margin-bottom: 36px; }
 #prefab  .t-h2 { font-size: 1.5625rem; }
  

  /* ヒーロー */
#prefab .hero {
  background-position: center 20%;
  background-repeat: no-repeat;
  background-image: image-set(
    url('https://sunrise-company.co.jp/wp_7/wp-content/themes/sunrise-company-theme/images/main-img-sp.webp') 1x,
    url('https://sunrise-company.co.jp/wp_7/wp-content/themes/sunrise-company-theme/images/main-img-sp@2x.webp') 2x
  );
}
  #prefab .hero-inner { min-height: 600px; align-items: flex-start; margin-top: 1rem;}
  #prefab .hero-left { width: 100%; max-width: none; padding: 36px 20px; display: block;margin-top:23rem; }
  #prefab .hero-h1 { font-size: 1.8125rem; flex: none; margin-bottom: 18px; }
  #prefab .hero-sub { font-size: 1rem; margin-bottom: 0; }
  #prefab .hero-btns { display: none; }
  #prefab .hero-credit { font-size: 0.625rem; right: 12px; bottom: 80px; background: rgba(31,82,64,0.6); }

  /* PC固定バーは非表示、スマホ固定バーを表示 */
  #prefab .fixed-bar, #prefab .fixed-bar-note { display: none; }
  .mobile-fixed-bar {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index:10;
    background: var(--white);
    border-top: 2px solid var(--green);
    min-height: 66px;
  }
	#prefab .trouble-cta-text strong{display:block;}
	
  .mfbar-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--green);
    border-right: 1px solid var(--border);
    cursor: pointer;
    padding: 8px 4px;
  }
 .mfbar-btn:last-child { border-right: none; }

  /* 各グリッドを縦積み or 2列に */
  #prefab .trouble-grid { grid-template-columns: 1fr; gap: 1rem; }
  #prefab .trouble-cta { flex-direction: column; align-items: stretch; gap: 15px; text-align: center; }


  #prefab .reason-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  #prefab .reason-top { padding: 16px 16px 18px; }
  #prefab .reason-num { font-size: 2.25rem; margin-bottom: 10px; }
  #prefab .reason-body { padding: 14px 16px 18px; font-size: 0.9rem; }

  #prefab .use-card { padding: 24px 16px 22px; }
  #prefab .use-icon { width: 84px; height: 84px; margin-bottom: 16px; }
  #prefab .use-icon .use-emoji { font-size: 2.5rem; }
  #prefab .use-card-head { font-size: 1rem; }
  #prefab .use-card-body { font-size: 0.9rem; }

  #prefab .greeting-box{padding: 30px;}
  #prefab .greeting-box .greeting-body{line-height:2;font-size: 1rem;}

  #prefab .case-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  #prefab .case-body { padding: 14px 14px 16px; }
  #prefab .case-title { font-size: 1rem; margin-bottom: 10px; }
  #prefab .case-meta { font-size: 0.9rem; }
  #prefab .case-filter { gap: 8px; }
  #prefab .case-filter-btn { font-size: 0.9rem; padding: 7px 14px; }
  #prefab .case-pagination { gap: 5px; margin-top: 32px; }
  #prefab .case-page { min-width: 34px; height: 36px; font-size: 0.875rem; padding: 0 3px; }

  #prefab .buyback-grid { grid-template-columns: 1fr; }

  /* FAQカテゴリはスマホで非表示 */
  #prefab .faq-layout > div:first-child { display: none; }
  #prefab .faq-q { grid-template-columns: 32px 1fr; font-size: 1.0625rem; }
  #prefab .faq-a { padding-left: 32px; font-size: 1rem; }

  /* フォーム */
  #prefab .form-2col { grid-template-columns: 1fr; gap: 0; }
  #prefab .contact-form { padding: 32px 24px; }
  #prefab .tel-num { font-size: 2.125rem; }
}
#prefab .hero-h1 .accent .bottom-txt{display:block;width: fit-content;box-shadow: inset 0 -13px 0 #fff33f;}

 /*=============================================
   RESPONSIVE — スマートフォン（〜520px）
   ============================================= */
@media (max-width: 520px) {
	#prefab .reason-grid{grid-template-columns: 1fr;}
	#prefab .reason-title{font-size: 1.0625rem;}
	#prefab .reason-body{font-size:1rem;}
	#prefab .use-grid{grid-template-columns: 1fr;}
	#prefab .use-card-head{font-size: 1.0625rem;}
	#prefab .use-card-body {font-size:1rem;}
	#prefab .hero-h1{font-size:1.7rem;}
	#prefab .info-table td.val span{display:block;}
	#prefab .tel-block .nav-tel{margin:0rem;}
	#prefab .hero-left{margin-top: 17rem;}
	#prefab .greeting-lbl span{display:block;}
	#prefab .co-table tr{display:flex;flex-direction:column;}
	#prefab .co-table td.lbl{width:100%; padding: 13px 0 5px; text-align:left;}
	#prefab .co-table td.val{width:100%; padding: 0 0 13px;}
	#prefab .info-table td.lbl{width: 100px;}
	#prefab .info-table td{padding: 13px 0px;}
	#prefab .trouble-cta {padding: 20px;}
	#prefab .trouble-cta .btn { width: 100%; padding: 5px 30px; }
	.btn-full{padding: 5px 30px; margin-top: 20px;}
	#prefab .buyback-cta-sub{margin-bottom: 20px;}
  }
