﻿/* =============================================
   レスポンシブ — SP（〜767px）
   ============================================= */

.container { padding: 0 24px; }
.logo-img { height: 25px; }

/* SP時は電話番号リンクを有効化 */
a[href^="tel:"] { pointer-events: auto; cursor: pointer; }

section[id], div[id] { scroll-margin-top: 60px; }


/* ヒーロー案B: 1カラム化（写真上・テキスト下） */
.hero-slide { grid-template-columns: 1fr; margin-top: 52px; }
.notfound { margin-top: 52px; padding: 80px 0; }
.hero-slide .hero-top .container { max-width: none; margin: 0; padding-left: 24px; padding-right: 24px; }
.hero-image { height: 56vw; min-height: 240px; order: -1; }
.hero-top { padding: 48px 0 40px; }
.hero-slide .hero-contact-block {
  align-self: center;
  align-items: center;
  text-align: center;
}

.hero-title { font-size: clamp(1.4rem, 7vw, 2.25rem); }
.hero-sub { font-size: 1rem; }
.hero-cta .btn-solid,
.hero-cta .btn-border { flex: 1; text-align: center; white-space: nowrap; }

/* 見学予約フォーム: 日付・時・分の入力欄を圧縮 */
.reserve { padding: 64px 0; }
.reserve-form { padding: 28px 20px; }
.form-date-row { gap: 3px; }
/* CF7のラップ要素(wpcf7-form-control-wrap)がflexの子要素になるため、
   320px付近でも「時」「分」の文字が切れないよう縮小を許可し、日付側の取り分を減らす */
.form-date-row > [class*="wpcf7-form-control-wrap"] { min-width: 0; }
.form-date-row > [class*="wpcf7-form-control-wrap"][class*="your-date-"] { flex: 1.4; }
.form-input { padding: 10px 6px; font-size: 0.8125rem; min-width: 0; }
.form-input--select { padding-right: 12px; background-position: right 2px center; background-size: 8px; }


/* セクション余白圧縮 */
.about, .overview, .services, .partners,
.floorplans, .pricing, .flow, .access, .footer-cta,
.fumani-about { padding: 64px 0; }
.fumani-services, .fumani-company { padding: 0 0 64px; }
.gallery { padding: 48px 0; }
.zone-band { padding: 48px 24px; }

.section-header { margin-bottom: 40px; }

/* 2カラム → 1カラム */
.about-features,
.partners-grid,
.fumani-service-grid,
.access-inner {
  grid-template-columns: 1fr;
}
.about-features,
.partners-grid,
.fumani-service-grid,
.fumani-company-inner {
  gap: 32px;
}

.about-feature { padding: 20px 22px; }
.service-item-body { padding: 16px 18px 20px; }
.partner-card { padding: 24px 24px 28px; }
.price-item { padding: 18px 16px 20px; }
.fumani-service-body { padding: 18px 22px 22px; }
.price-total { padding: 24px 10px; letter-spacing: 0; }

/* サービス・価格カード縦積み */
.services-grid { grid-template-columns: 1fr; }
.price-grid { grid-template-columns: 1fr; }
.gallery-grid { grid-template-columns: 1fr; }
.gallery-grid img { height: 200px; }


/* 間取りタブ: 横スクロール可 */
.fp-tabs {
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 6px;
}
.fp-panel img { padding: 12px; }

/* 流れ: 縦積み・矢印は下向きに */
.flow-steps { grid-template-columns: 1fr; gap: 40px; }
.flow-step:not(:last-child)::after {
  top: auto; right: 50%;
  bottom: -30px;
  transform: translateX(50%);
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 16px solid var(--accent);
  border-bottom: 0;
}

/* フマニ申請フロー: 縦積み */
.fumani-flow-steps { grid-template-columns: 1fr; gap: 32px; }
.fumani-flow-step:not(:last-child)::after {
  top: auto; right: 50%;
  bottom: -20px;
  transform: translateX(50%);
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 13px solid var(--accent);
  border-bottom: 0;
}

/* テーブル: 2列→縦1列積み */
.company-table,
.company-table tbody,
.company-table tr,
.company-table th,
.company-table td {
  display: block;
  width: 100%;
}
.company-table th {
  padding: 14px clamp(10px, 1.02041vw + 6.17347px, 14px) 6px;
  font-size: 0.875rem;
  white-space: nowrap;
}
.company-table td { padding: 7px 14px; font-size: 0.9375rem; }

/* フッター縦積み */

.map-placeholder { min-height: 280px; }
