/* ==========================================
   タッキード バイク車検LP 専用CSS
   ========================================== */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');

* { margin: 0; padding: 0; box-sizing: border-box; }

:root {
  --orange: #ff7800;
  --orange-dark: #c05000;
  --orange-light: #fff3e0;
  --dark: #1a1a1a;
  --dark2: #2d3841;
  --white: #fff;
  --gray-bg: #f5f5f5;
  --gray-text: #555;
  --red: #c1272d;
  --blue: #0071bc;
}

body.bike-page {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, sans-serif;
  background-color: var(--dark);
  color: #333;
  font-size: 16px;
  line-height: 1.6;
}

/* ==================
   ヘッダー
   ================== */
.bike-header { background-color: var(--dark); padding: 12px 20px; border-bottom: 3px solid var(--orange); position: sticky; top: 0; z-index: 600; }
.bike-header-inner { max-width: 1170px; margin: 0 auto; display: flex; flex-direction: row; justify-content: space-between; align-items: center; position: relative; }
.bike-logo img { height: 50px; width: auto; display: block; }
.bike-header-tel { text-align: right; }
.bike-tel-label { font-size: 12px; color: #aaa; margin-bottom: 4px; }
.bike-tel-nums { display: flex; gap: 20px; justify-content: flex-end; }
.bike-tel-item { display: flex; align-items: center; gap: 8px; }
.bike-tel-area { background: var(--orange); color: #fff; font-size: 12px; padding: 2px 8px; border-radius: 3px; white-space: nowrap; }
.bike-tel-num { color: #fff; font-size: 22px; font-weight: 900; text-decoration: none; letter-spacing: 1px; }
.bike-tel-num:hover { color: var(--orange); }
.bike-tel-time { font-size: 11px; color: #888; margin-top: 4px; text-align: right; }

@media screen and (max-width: 900px) {
  .bike-header { padding: 10px 16px; }
  .bike-header-inner { flex-direction: row !important; justify-content: space-between !important; align-items: center !important; flex-wrap: nowrap !important; gap: 0 !important; }
  .bike-logo img { height: 38px; }
  .bike-header-tel { display: none; }
}

/* ==================
   メインビュー（バナー）
   ================== */
.bike-mainview { width: 100%; background-color: var(--dark); }
.bike-mainview-inner { max-width: 1170px; margin: 0 auto; }
.bike-maincopy { width: 100%; background-image: url(https://tackheed.jp/shaken/wp-content/themes/gaisya/images/bike_banner_top.png?v=20260420b); background-repeat: no-repeat; background-position: center center; background-size: contain; padding-top: 34.6%; min-height: 0; position: relative; background-color: #111; }

@media screen and (max-width: 667px) {
  .bike-mainview-inner { max-width: 100%; padding: 0; }
  .bike-maincopy { background-image: url(https://tackheed.jp/shaken/wp-content/themes/gaisya/images/bike_banner_sp.png?v=20260420b); padding-top: 177.8%; background-size: cover; background-position: center top; background-color: #111; }
  .bike-banner-badges { display: none; }
}

/* ==================
   バナーバッジ（PC版）
   ================== */
.bike-banner-badges { position: absolute; top: 62%; right: 12px; display: flex; flex-direction: column; gap: 12px; }
.bike-banner-badge { background: rgba(255,120,0,0.95); color: #fff; font-size: 17px; font-weight: 900; padding: 12px 18px; border-radius: 8px; display: flex; align-items: center; gap: 10px; line-height: 1.4; backdrop-filter: blur(4px); box-shadow: 0 3px 12px rgba(0,0,0,0.5); white-space: nowrap; }
.bike-banner-badge-icon { font-size: 22px; flex-shrink: 0; }

/* ==================
   バナー下 実績帯
   ================== */
.bike-stats-bar { background: linear-gradient(135deg, var(--orange) 0%, #ff9500 100%); padding: 20px 20px; position: relative; overflow: hidden; }
.bike-stats-bar-inner { max-width: 1000px; margin: 0 auto; display: flex; justify-content: center; gap: 0; align-items: center; }
.bike-stat-item { flex: 1; text-align: center; padding: 8px 20px; position: relative; }
.bike-stat-item + .bike-stat-item::before { content: ''; position: absolute; left: 0; top: 10%; height: 80%; width: 1px; background: rgba(255,255,255,0.4); }
.bike-stat-num { display: block; font-size: 32px; font-weight: 900; color: #fff; line-height: 1; letter-spacing: -1px; }
.bike-stat-num span { font-size: 18px; letter-spacing: 0; }
.bike-stat-label { display: block; font-size: 13px; color: rgba(255,255,255,0.9); margin-top: 4px; font-weight: 700; }

@media screen and (max-width: 667px) {
  .bike-stats-bar { padding: 12px 10px; }
  .bike-stats-bar-inner { flex-wrap: nowrap; }
  .bike-stat-item { flex: 1; padding: 6px 8px; }
  .bike-stat-item + .bike-stat-item::before { display: block; }
  .bike-stat-num { font-size: 20px; letter-spacing: -0.5px; }
  .bike-stat-num span { font-size: 13px; }
  .bike-stat-label { font-size: 10px; margin-top: 3px; }
}

/* ==================
   セクション共通
   ================== */
.bike-section { padding: 70px 20px; }
.bike-section-inner { max-width: 1000px; margin: 0 auto; }
.bike-section-title { font-size: 30px; font-weight: 900; text-align: center; margin-bottom: 45px; color: var(--dark); position: relative; padding-bottom: 20px; }
.bike-section-title::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 60px; height: 4px; background: var(--orange); border-radius: 2px; }
.bike-section-title span { color: var(--orange); }
.bike-section.bg-white { background-color: var(--white); }
.bike-section.bg-gray  { background-color: var(--gray-bg); }
.bike-section.bg-dark  { background-color: var(--dark); }
.bike-section.bg-dark .bike-section-title { color: var(--white); }

/* ==================
   他社と違う3つのポイント
   ================== */
.bike-diff-eyebrow { text-align: center; color: #aaa; font-size: 13px; font-weight: 700; letter-spacing: 2px; margin-bottom: 12px; }
.bike-diff-grid { display: grid; grid-template-columns: 1fr; gap: 24px; }
.bike-diff-item { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,120,0,0.3); border-top: 4px solid var(--orange); border-radius: 8px; overflow: hidden; display: flex; flex-direction: row; align-items: stretch; min-height: 280px; }
.bike-diff-item-body { flex: 1; padding: 28px 28px 28px 28px; min-width: 0; }
.bike-diff-heading { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 16px; }
.bike-diff-num { font-size: 48px; font-weight: 900; color: rgba(255,120,0,0.35); line-height: 1; font-family: Georgia, serif; flex-shrink: 0; margin-bottom: 0; }
.bike-diff-item h3 { font-size: 40px; font-weight: 900; color: #fff; line-height: 1.15; margin: 0; flex: 1; min-width: 0; }
.bike-diff-item h3 small { font-size: 16px; color: var(--orange); font-weight: 700; display: block; margin-top: 6px; letter-spacing: 0; }
.bike-diff-item p { font-size: 14px; color: #bbb; line-height: 1.8; margin-bottom: 18px; }
.bike-diff-vs { display: flex; flex-direction: column; gap: 8px; }
.bike-diff-vs-bad, .bike-diff-vs-good { font-size: 13px; font-weight: 700; padding: 10px 14px; border-radius: 5px; line-height: 1.6; display: block; }
.bike-diff-vs-bad { background: rgba(255,255,255,0.07); color: #999; }
.bike-diff-vs-good { background: rgba(255,120,0,0.18); color: var(--orange); border: 1px solid rgba(255,120,0,0.4); }
.bike-diff-item-img { width: 260px; flex-shrink: 0; overflow: hidden; background: rgba(0,0,0,0.3); display: flex; align-items: center; justify-content: center; border-left: 1px solid rgba(255,120,0,0.2); }
.bike-diff-item-img img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; opacity: 0.9; transition: transform .3s ease, opacity .3s ease; }
.bike-diff-item:hover .bike-diff-item-img img { transform: scale(1.05); opacity: 1; }

@media screen and (max-width: 667px) {
  .bike-diff-item { flex-direction: column; min-height: auto; }
  .bike-diff-item-img { width: 100%; height: 180px; border-left: none; border-top: 1px solid rgba(255,120,0,0.2); }
  .bike-diff-num { font-size: 36px; }
  .bike-diff-item h3 { font-size: 28px; }
  .bike-diff-item h3 small { font-size: 14px; }
}

/* ==================
   安心訴求ブロック
   ================== */
.bike-anshin-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.bike-anshin-item { background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 3px 15px rgba(0,0,0,0.07); }
.bike-anshin-q { background: #2d3841; color: #fff; padding: 14px 18px; font-size: 15px; font-weight: 700; line-height: 1.5; }
.bike-anshin-a { padding: 15px 18px; font-size: 14px; color: #444; line-height: 1.75; display: flex; gap: 10px; align-items: flex-start; }
.bike-anshin-ok { background: var(--orange); color: #fff; font-size: 12px; font-weight: 900; padding: 3px 10px; border-radius: 20px; white-space: nowrap; flex-shrink: 0; margin-top: 2px; }
@media screen and (max-width: 667px) { .bike-anshin-grid { grid-template-columns: 1fr; } }

/* ==================
   選ばれる理由
   ================== */
.bike-reason-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.bike-reason-item { background: var(--white); border-radius: 8px; padding: 30px 25px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); border-top: 5px solid var(--orange); transition: transform .2s, box-shadow .2s; display: flex; flex-direction: column; gap: 10px; }
.bike-reason-item:hover { transform: translateY(-4px); box-shadow: 0 8px 30px rgba(0,0,0,0.13); }
.bike-reason-header { display: flex; align-items: center; gap: 15px; }
.bike-reason-num { background: var(--orange); color: #fff; font-size: 13px; font-weight: 900; width: 42px; height: 42px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.bike-reason-icon { font-size: 36px; line-height: 1; }
.bike-reason-item h3 { font-size: 20px; font-weight: 900; color: var(--dark); }
.bike-reason-item p { font-size: 15px; color: #555; line-height: 1.75; }

/* ==================
   指定工場セクション
   ================== */
.bike-certified-wrap { display: flex; gap: 50px; align-items: center; }
.bike-certified-badge-col { flex-shrink: 0; text-align: center; }
.bike-certified-badge { width: 160px; height: 160px; border-radius: 50%; background: linear-gradient(135deg, #1a2a3a 0%, #2d3841 100%); border: 5px solid var(--orange); display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 3px rgba(255,120,0,0.3), 0 8px 30px rgba(0,0,0,0.5); margin: 0 auto 12px; }
.bike-certified-badge-inner { text-align: center; }
.bike-certified-mark { font-size: 30px; font-weight: 900; color: var(--orange); line-height: 1; letter-spacing: 2px; }
.bike-certified-mark-sub { font-size: 10px; color: #aaa; margin-top: 4px; line-height: 1.4; }
.bike-certified-mark-num { font-size: 9px; color: #888; margin-top: 4px; }
.bike-certified-badge-caption { font-size: 12px; color: #aaa; margin-top: 8px; }
.bike-certified-body { flex: 1; }
.bike-certified-title { font-size: 28px; font-weight: 900; color: var(--white); margin-bottom: 16px; line-height: 1.3; }
.bike-certified-title span { color: var(--orange); }
.bike-certified-lead { font-size: 15px; color: #ccc; line-height: 1.8; margin-bottom: 25px; }
.bike-certified-lead strong { color: var(--white); }
.bike-certified-points { display: flex; flex-direction: column; gap: 15px; }
.bike-certified-point { display: flex; gap: 15px; align-items: flex-start; background: rgba(255,255,255,0.06); border-left: 4px solid var(--orange); border-radius: 0 6px 6px 0; padding: 15px 18px; }
.bike-certified-point-icon { font-size: 24px; flex-shrink: 0; line-height: 1; }
.bike-certified-point h4 { font-size: 16px; font-weight: 900; color: var(--white); margin-bottom: 4px; }
.bike-certified-point p { font-size: 13px; color: #aaa; line-height: 1.65; }
@media screen and (max-width: 667px) { .bike-certified-wrap { flex-direction: column; gap: 30px; } .bike-certified-title { font-size: 22px; } }

/* ==================
   料金表
   ================== */
.bike-price-box { background: var(--white); border-radius: 10px; overflow: hidden; box-shadow: 0 6px 30px rgba(0,0,0,0.2); }
.bike-price-box-header { background: var(--orange); padding: 18px 25px; text-align: center; }
.bike-price-box-header p { color: #fff; font-size: 15px; font-weight: 700; }
.bike-price-table { width: 100%; border-collapse: collapse; }
.bike-price-table tr { border-bottom: 1px solid #eee; }
.bike-price-table th { padding: 18px 20px; background-color: #f0f4f8; color: var(--dark2); font-size: 15px; width: 55%; text-align: left; font-weight: 700; }
.bike-price-table td { padding: 18px 20px; font-size: 18px; background-color: var(--white); }
.bike-price-total th { background: var(--orange); color: #fff; font-size: 17px; }
.bike-price-total td { background: #fff8f0; }
.bike-price-num { color: #c00; font-weight: 900; font-size: 24px; }
.bike-price-tax { font-size: 13px; color: #888; margin-left: 4px; }
.bike-price-note { padding: 15px 20px; font-size: 12px; color: #888; line-height: 1.8; background: #fafafa; border-top: 1px solid #eee; }
.bike-price-single { max-width: 700px; margin: 0 auto; }
.bike-price-single .bike-price-num { font-size: 28px; }

/* ==================
   車検の流れ
   ================== */
.bike-flow-steps { display: flex; align-items: flex-start; justify-content: center; gap: 0; }
.bike-flow-step { background: var(--white); border-radius: 8px; padding: 25px 15px 20px; text-align: center; box-shadow: 0 4px 15px rgba(0,0,0,0.08); width: 165px; flex-shrink: 0; border-top: 5px solid var(--orange); }
.bike-flow-num { font-size: 34px; font-weight: 900; color: var(--orange); line-height: 1; margin-bottom: 10px; font-family: Georgia, serif; }
.bike-flow-step h3 { font-size: 15px; font-weight: 900; margin-bottom: 8px; color: var(--dark); }
.bike-flow-step p { font-size: 11px; color: #666; line-height: 1.6; }
.bike-flow-arrow { font-size: 22px; color: var(--orange); padding: 30px 4px 0; flex-shrink: 0; }

/* ==================
   お客様の声
   ================== */
.bike-voice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.bike-voice-item { background: var(--white); border-radius: 8px; padding: 25px; box-shadow: 0 4px 15px rgba(0,0,0,0.07); position: relative; }
.bike-voice-item::before { content: '\201C'; font-size: 60px; color: var(--orange); opacity: 0.25; position: absolute; top: 10px; left: 15px; line-height: 1; font-family: Georgia, serif; }
.bike-voice-stars { color: #f5a623; font-size: 18px; margin-bottom: 10px; }
.bike-voice-text { font-size: 14px; color: #444; line-height: 1.75; margin-bottom: 15px; position: relative; z-index: 1; }
.bike-voice-author { font-size: 13px; color: #888; font-weight: 700; border-top: 1px solid #eee; padding-top: 12px; }

/* ==================
   FAQ
   ================== */
.bike-faq-list { display: flex; flex-direction: column; gap: 3px; }
.bike-faq-item { border-radius: 6px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.07); }
.bike-faq-list dt { background-color: var(--dark2); color: var(--white); padding: 16px 20px 16px 55px; font-size: 16px; font-weight: 700; border-left: 5px solid var(--orange); position: relative; margin-top: 0; }
.bike-faq-list dt::before { content: 'Q'; position: absolute; left: 18px; top: 50%; transform: translateY(-50%); background: var(--orange); color: #fff; width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 900; }
.bike-faq-list dd { background-color: var(--white); padding: 16px 20px 16px 55px; font-size: 15px; color: #444; border-left: 5px solid #ddd; position: relative; margin: 0; }
.bike-faq-list dd::before { content: 'A'; position: absolute; left: 18px; top: 50%; transform: translateY(-50%); background: #e0e0e0; color: var(--dark2); width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 900; }

/* ==================
   CTA
   ================== */
.bike-cta-box { background: var(--white); border-radius: 12px; padding: 45px 40px; display: flex; gap: 50px; align-items: center; justify-content: center; flex-wrap: wrap; box-shadow: 0 8px 40px rgba(0,0,0,0.3); }
.bike-cta-label { font-size: 14px; color: #888; margin-bottom: 10px; font-weight: 700; }
.bike-cta-tel-nums { display: flex; gap: 25px; flex-wrap: wrap; }
.bike-cta-tel-item { display: flex; align-items: center; gap: 12px; }
.bike-cta-area { background: var(--orange); color: #fff; font-size: 13px; padding: 4px 12px; border-radius: 4px; font-weight: 700; white-space: nowrap; }
.bike-cta-num { font-size: 30px; font-weight: 900; color: var(--dark); text-decoration: none; letter-spacing: 1px; }
.bike-cta-num:hover { color: var(--orange); }
.bike-cta-time { font-size: 12px; color: #888; margin-top: 10px; }
.bike-cta-divider { width: 1px; height: 80px; background: #ddd; flex-shrink: 0; }
.bike-cta-btn { display: inline-block; background: linear-gradient(135deg, var(--orange) 0%, #ff9500 100%); color: #fff; padding: 20px 40px; border-radius: 6px; text-decoration: none; font-size: 18px; font-weight: 900; box-shadow: 0 5px 0 var(--orange-dark); transition: all .15s; white-space: nowrap; text-align: center; }
.bike-cta-btn:hover { transform: translateY(2px); box-shadow: 0 3px 0 var(--orange-dark); color: #fff; text-decoration: none; }

/* ==================
   フッター
   ================== */
.bike-footer { background-color: #111; padding: 35px 20px; text-align: center; border-top: 3px solid var(--orange); }
.bike-footer-logo { color: #fff; font-size: 26px; font-weight: 900; margin-bottom: 6px; letter-spacing: 2px; }
.bike-footer-copy { color: #555; font-size: 12px; }

/* ==================
   スマホ固定TEL
   ================== */
.bike-sp-tel { display: none; position: fixed; bottom: 0; width: 100%; z-index: 999; }
.bike-sp-tel-btn { width: 50%; padding: 14px 5px; text-align: center; color: #fff; font-weight: 900; font-size: 14px; text-decoration: none; line-height: 1.3; }
.bike-sp-tel-btn span { display: block; font-size: 11px; font-weight: 400; opacity: 0.85; }
.bike-sp-tel-yoko { background-color: var(--red); }

/* ==================
   PC固定CTA帯
   ================== */
.bike-pc-cta-bar { display: none; position: fixed; bottom: 0; left: 0; width: 100%; background: rgba(26,26,26,0.95); border-top: 3px solid var(--orange); z-index: 200; padding: 10px 20px; backdrop-filter: blur(6px); }
.bike-pc-cta-bar-inner { max-width: 1170px; margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: 30px; }
.bike-pc-cta-bar-tel { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.bike-pc-cta-bar-item { display: flex; align-items: center; gap: 10px; }
.bike-pc-cta-bar-num { color: #fff; font-size: 22px; font-weight: 900; text-decoration: none; letter-spacing: 1px; }
.bike-pc-cta-bar-num:hover { color: var(--orange); }
.bike-pc-cta-bar-time { font-size: 11px; color: #aaa; }
.bike-pc-cta-bar-btn { background: var(--orange); color: #fff; padding: 10px 25px; border-radius: 5px; text-decoration: none; font-size: 15px; font-weight: 900; white-space: nowrap; box-shadow: 0 3px 0 var(--orange-dark); transition: all .15s; flex-shrink: 0; }
.bike-pc-cta-bar-btn:hover { transform: translateY(1px); box-shadow: 0 2px 0 var(--orange-dark); color: #fff; }

/* ==================
   レスポンシブ全般
   ================== */
@media screen and (min-width: 901px) {
  .bike-sp-tel { display: none !important; }
  .bike-pc-cta-bar { display: block; }
  body.bike-page { padding-bottom: 62px; }
}
@media screen and (max-width: 900px) {
  .bike-price-wrap { grid-template-columns: 1fr; }
  .bike-voice-grid { grid-template-columns: repeat(2, 1fr); }
}
@media screen and (max-width: 667px) {
  .bike-section { padding: 50px 15px; }
  .bike-section-title { font-size: 22px; }
  .bike-reason-grid { grid-template-columns: 1fr; }
  .bike-flow-steps { flex-direction: column; align-items: center; }
  .bike-flow-arrow { padding: 0; transform: rotate(90deg); }
  .bike-flow-step { width: 100%; max-width: 300px; }
  .bike-cta-box { flex-direction: column; padding: 25px 20px; gap: 25px; }
  .bike-cta-divider { display: none; }
  .bike-cta-num { font-size: 24px; }
  .bike-cta-btn { width: 100%; }
  .bike-certified-badge { width: 130px; height: 130px; }
  .bike-certified-mark { font-size: 24px; }
  .bike-voice-grid { grid-template-columns: 1fr; }
  .bike-sp-tel { display: flex; }
  body.bike-page { padding-bottom: 50px; }
}

/* ==================
   お問い合わせバナー
   ================== */
.bike-inquiry-banner { background: linear-gradient(135deg, #1a2a3a 0%, #2d3841 100%); border-top: 4px solid var(--orange); border-bottom: 4px solid var(--orange); padding: 30px 20px; }
.bike-inquiry-banner-inner { max-width: 1000px; margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: 50px; flex-wrap: wrap; }
.bike-inquiry-banner-sub { font-size: 14px; color: rgba(255,255,255,0.85); font-weight: 700; margin-bottom: 6px; }
.bike-inquiry-banner-tel { display: flex; align-items: center; gap: 12px; color: #fff; font-size: 42px; font-weight: 900; text-decoration: none; letter-spacing: 1px; margin-top: 6px; text-shadow: 0 2px 8px rgba(0,0,0,0.3); }
.bike-inquiry-banner-tel:hover { opacity: 0.85; color: #fff; }
.bike-inquiry-banner-tel-area { background: rgba(0,0,0,0.25); font-size: 14px; padding: 5px 14px; border-radius: 4px; font-weight: 700; white-space: nowrap; letter-spacing: 0; }
.bike-inquiry-banner-btn { display: inline-block; background: var(--orange); color: #fff; padding: 18px 40px; border-radius: 6px; text-decoration: none; font-size: 18px; font-weight: 900; box-shadow: 0 5px 0 var(--orange-dark); transition: all .15s; white-space: nowrap; }
.bike-inquiry-banner-btn:hover { transform: translateY(2px); box-shadow: 0 3px 0 var(--orange-dark); color: #fff; text-decoration: none; }
@media screen and (max-width: 667px) {
  .bike-inquiry-banner-inner { flex-direction: column; text-align: center; gap: 20px; }
  .bike-inquiry-banner-tel { font-size: 26px; justify-content: center; }
  .bike-inquiry-banner-btn { width: 100%; text-align: center; font-size: 16px; padding: 16px 20px; }
}

/* ==================
   指定工場 背景・バイクシルエット
   ================== */
.bike-certified--engine { position: relative; overflow: hidden; }
.bike-certified--engine::after { content: ''; position: absolute; right: -5%; top: 50%; transform: translateY(-50%); width: 45%; height: 100%; background-image: url(https://tackheed.jp/shaken/wp-content/themes/gaisya/images/engine.png); background-size: contain; background-repeat: no-repeat; background-position: center right; opacity: 0.08; pointer-events: none; z-index: 0; }
.bike-certified--engine .bike-section-inner { position: relative; z-index: 1; }
@media screen and (max-width: 667px) { .bike-certified--engine::after { display: none; } }
.bike-stats-silhouette { position: absolute; right: 0; bottom: 0; height: 110%; width: auto; opacity: 0.12; pointer-events: none; }
@media screen and (max-width: 667px) { .bike-stats-silhouette { height: 140%; opacity: 0.08; } }

/* ==================
   ナビメニュー（PC）
   ================== */
.bike-nav { display: flex; align-items: center; gap: 4px; flex: 1; justify-content: center; flex-wrap: wrap; }
.bike-nav-item { color: #ccc; text-decoration: none; font-size: 13px; font-weight: 700; padding: 6px 10px; border-radius: 4px; transition: all .15s; white-space: nowrap; }
.bike-nav-item:hover { color: var(--orange); background: rgba(255,120,0,0.1); }
.bike-nav-contact { background: var(--orange); color: #fff !important; padding: 6px 14px; }
.bike-nav-contact:hover { background: var(--orange-dark) !important; color: #fff !important; }
@media screen and (max-width: 900px) { .bike-nav { display: none; } }

/* ==================
   会社概要
   ================== */
.bike-about-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.bike-about-table { width: 100%; border-collapse: collapse; }
.bike-about-table tr { border-bottom: 1px solid #eee; }
.bike-about-table tr:first-child { border-top: 1px solid #eee; }
.bike-about-table th { padding: 15px 18px; background: #f0f4f8; color: var(--dark2); font-size: 14px; font-weight: 700; width: 35%; text-align: left; vertical-align: top; white-space: nowrap; }
.bike-about-table td { padding: 15px 18px; font-size: 15px; color: #333; line-height: 1.7; }
.bike-about-table td a { color: var(--orange); text-decoration: none; font-weight: 700; }
.bike-about-table td a:hover { text-decoration: underline; }
.bike-about-badge { display: inline-block; background: var(--orange); color: #fff; font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 3px; margin-top: 6px; }
.bike-about-map iframe { width: 100%; height: 350px; border-radius: 8px; box-shadow: 0 4px 20px rgba(0,0,0,0.1); }
.bike-about-map-address { font-size: 13px; color: #888; margin-top: 10px; text-align: center; }
@media screen and (max-width: 900px) { .bike-about-wrap { grid-template-columns: 1fr; } }

/* ==================
   セクションタイトル強調
   ================== */
.bike-diff .bike-section-title, .bike-anshin .bike-section-title, .bike-reason .bike-section-title, .bike-price .bike-section-title { font-size: 38px !important; }
.bike-diff-eyebrow { font-size: 15px !important; color: #ff9500 !important; }
.bike-diff .bike-section-title { color: #fff !important; font-size: 42px !important; }
.bike-certified .bike-certified-title { font-size: 34px !important; }
@media screen and (max-width: 667px) {
  .bike-diff .bike-section-title { font-size: 28px !important; }
  .bike-anshin .bike-section-title, .bike-reason .bike-section-title, .bike-price .bike-section-title { font-size: 26px !important; }
  .bike-certified .bike-certified-title { font-size: 24px !important; }
}

/* ==================
   料金表 説明文
   ================== */
.bike-price-caption { max-width: 700px; margin: 0 auto 30px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,120,0,0.3); border-left: 4px solid var(--orange); border-radius: 8px; padding: 20px 25px; color: #ccc; line-height: 1.8; font-size: 15px; }
.bike-price-caption p:first-child { font-size: 24px !important; font-weight: 900 !important; color: #fff !important; margin-bottom: 12px !important; }
.bike-price-caption strong { color: var(--orange); }

/* ==================
   ご注意事項
   ================== */
.bike-caution-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.bike-caution-item--warn { grid-column: 1 / -1; }
.bike-caution-item { background: #fff; border-radius: 8px; padding: 25px 28px; box-shadow: 0 3px 15px rgba(0,0,0,0.07); display: flex; gap: 18px; align-items: flex-start; }
.bike-caution-item--warn { border-left: 5px solid #e67e22; }
.bike-caution-item--ng   { border-left: 5px solid #e74c3c; }
.bike-caution-item--info { border-left: 5px solid #3498db; }
.bike-caution-icon { font-size: 28px; flex-shrink: 0; line-height: 1; margin-top: 2px; }
.bike-caution-body h3 { font-size: 17px; font-weight: 900; color: var(--dark); margin-bottom: 12px; }
.bike-caution-body ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.bike-caution-body ul li { font-size: 15px; color: #444; line-height: 1.7; padding-left: 18px; position: relative; }
.bike-caution-body ul li::before { content: '›'; position: absolute; left: 0; color: var(--orange); font-weight: 900; font-size: 18px; line-height: 1.4; }
.bike-caution-body ul li strong { color: var(--dark); }
@media screen and (max-width: 667px) { .bike-caution-grid { grid-template-columns: 1fr; } .bike-caution-item--warn { grid-column: auto; } }

/* ==========================================
   ハンバーガーボタン
   ========================================== */
.bike-hamburger { display: none; flex-direction: row; align-items: center; gap: 8px; background: none; border: none; cursor: pointer; padding: 8px; z-index: 620; flex-shrink: 0; -webkit-tap-highlight-color: transparent; }
.bike-hamburger-lines { display: flex; flex-direction: column; justify-content: center; gap: 5px; flex-shrink: 0; width: 22px; }
.bike-hamburger-lines > span { display: block; width: 22px; height: 2px; background: #fff; border-radius: 2px; transition: all .3s; }
.bike-hamburger-label { color: #fff; font-size: 13px; font-weight: 700; letter-spacing: 1px; line-height: 1; }
@media screen and (max-width: 900px) { .bike-hamburger { display: flex; } }

/* ==========================================
   ドロワーメニュー
   ========================================== */
.bike-drawer { position: fixed; top: 0; right: -300px; left: auto; width: 280px; height: 100%; min-height: -webkit-fill-available; min-height: 100dvh; background: #1a1a1a; z-index: 510; overflow-y: auto; -webkit-overflow-scrolling: touch; border-left: 3px solid var(--orange); visibility: hidden; opacity: 0; transition: right .3s ease, visibility .3s ease, opacity .3s ease; }
.bike-drawer.is-open { right: 0; visibility: visible; opacity: 1; }
.bike-drawer-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); z-index: 499; }
.bike-drawer-overlay.is-open { display: block; }
.bike-drawer-inner { padding: 20px; padding-bottom: calc(20px + env(safe-area-inset-bottom)); }
.bike-drawer-close { display: block; margin-left: auto; background: none; border: 1px solid #555; color: #fff; font-size: 18px; width: 36px; height: 36px; border-radius: 50%; cursor: pointer; line-height: 1; margin-bottom: 20px; -webkit-tap-highlight-color: transparent; }
.bike-drawer-close:hover { border-color: var(--orange); color: var(--orange); }
.bike-drawer-nav { display: flex; flex-direction: column; gap: 4px; margin-bottom: 30px; }
.bike-drawer-item { color: #ccc; text-decoration: none; font-size: 16px; font-weight: 700; padding: 14px 16px; border-radius: 6px; border-left: 3px solid transparent; transition: all .15s; display: block; }
.bike-drawer-item:hover { background: rgba(255,120,0,0.1); border-left-color: var(--orange); color: #fff; }
.bike-drawer-contact { background: var(--orange); color: #fff !important; text-align: center; border-radius: 6px; margin-top: 10px; border-left-color: transparent !important; }
.bike-drawer-contact:hover { background: var(--orange-dark) !important; }
.bike-drawer-tel { border-top: 1px solid #333; padding-top: 20px; text-align: center; }
.bike-drawer-tel p { font-size: 12px; color: #888; margin-bottom: 8px; }
.bike-drawer-tel a { color: #fff; font-size: 22px; font-weight: 900; text-decoration: none; letter-spacing: 1px; }
.bike-drawer-tel a:hover { color: var(--orange); }

/* ==========================================
   お問い合わせページ専用スタイル
   ========================================== */
.contact-hero { background: linear-gradient(135deg, var(--dark) 0%, #2d3841 100%); padding: 60px 20px 50px; text-align: center; border-bottom: 3px solid var(--orange); }
.contact-hero-inner { max-width: 700px; margin: 0 auto; }
.contact-hero-sub { font-size: 12px; letter-spacing: 4px; color: var(--orange); font-weight: 700; margin-bottom: 12px; }
.contact-hero-title { font-size: 36px; font-weight: 900; color: #fff; margin-bottom: 16px; line-height: 1.3; }
.contact-hero-title span { color: var(--orange); }
.contact-hero-lead { font-size: 15px; color: #ccc; line-height: 1.8; }
.contact-tel-bar { background: linear-gradient(135deg, #1a2a3a 0%, #2d3841 100%); padding: 25px 20px; border-bottom: 3px solid var(--orange); text-align: center; }
.contact-tel-bar-inner { max-width: 700px; margin: 0 auto; }
.contact-tel-bar-label { font-size: 13px; color: #aaa; margin-bottom: 8px; font-weight: 700; }
.contact-tel-bar-nums { display: flex; justify-content: center; gap: 30px; flex-wrap: wrap; margin-bottom: 6px; }
.contact-tel-bar-item { display: flex; align-items: center; gap: 10px; }
.contact-tel-bar-num { color: #fff; font-size: 30px; font-weight: 900; text-decoration: none; letter-spacing: 1px; }
.contact-tel-bar-num:hover { color: var(--orange); }
.contact-tel-bar-time { font-size: 12px; color: #888; }
.contact-section { background-color: var(--gray-bg); padding: 60px 20px; }
.contact-section-inner { max-width: 700px; margin: 0 auto; }
.contact-info-box { background: #fff; border-left: 5px solid var(--orange); border-radius: 0 8px 8px 0; padding: 20px 25px; margin-bottom: 35px; box-shadow: 0 3px 15px rgba(0,0,0,0.07); }
.contact-info-title { font-size: 16px; font-weight: 900; color: var(--dark2); margin-bottom: 12px; }
.contact-info-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.contact-info-list li { font-size: 14px; color: #555; line-height: 1.7; padding-left: 16px; position: relative; }
.contact-info-list li::before { content: '›'; position: absolute; left: 0; color: var(--orange); font-weight: 900; font-size: 16px; line-height: 1.5; }
.contact-info-list li strong { color: var(--dark); }
.contact-form-wrap { background: #fff; border-radius: 10px; padding: 40px 35px; box-shadow: 0 6px 30px rgba(0,0,0,0.1); }
.contact-back { background-color: var(--dark); padding: 30px 20px; text-align: center; }
.contact-back-btn { display: inline-block; color: #ccc; text-decoration: none; font-size: 15px; font-weight: 700; padding: 12px 30px; border: 2px solid #555; border-radius: 6px; transition: all .2s; }
.contact-back-btn:hover { color: var(--orange); border-color: var(--orange); }

/* ==========================================
   Contact Form 7 スタイル
   ========================================== */
.wpcf7-form .cf7-row { margin-bottom: 20px; }
.wpcf7-form label { display: block; font-size: 14px; font-weight: 700; color: var(--dark2); margin-bottom: 6px; }
.wpcf7-form .required { color: #e74c3c; margin-left: 4px; }
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="date"],
.wpcf7-form textarea { width: 100%; padding: 12px 16px; border: 2px solid #ddd; border-radius: 6px; font-size: 15px; font-family: "Noto Sans JP", sans-serif; color: #333; background: #fafafa; transition: border-color .2s, background .2s; outline: none; box-sizing: border-box; }
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="date"]:focus,
.wpcf7-form textarea:focus { border-color: var(--orange); background: #fff; }
.wpcf7-form select { width: auto; padding: 10px 12px; border: 2px solid #ddd; border-radius: 6px; font-size: 14px; font-family: "Noto Sans JP", sans-serif; color: #333; background: #fafafa; outline: none; cursor: pointer; }
.wpcf7-form select:focus { border-color: var(--orange); background: #fff; }
.wpcf7-form input[type="file"] { width: 100%; padding: 10px 12px; border: 2px dashed #ddd; border-radius: 6px; font-size: 14px; background: #fafafa; cursor: pointer; box-sizing: border-box; }
.wpcf7-form input[type="file"]:hover { border-color: var(--orange); background: #fff8f0; }
.wpcf7-form textarea { height: 140px; resize: vertical; }
.wpcf7-form .cf7-submit { margin-top: 28px; text-align: center; }
.wpcf7-form input[type="submit"] { display: inline-block; background: linear-gradient(135deg, var(--orange) 0%, #ff9500 100%); color: #fff; padding: 18px 60px; border: none; border-radius: 6px; font-size: 18px; font-weight: 900; font-family: "Noto Sans JP", sans-serif; cursor: pointer; box-shadow: 0 5px 0 var(--orange-dark); transition: all .15s; letter-spacing: 1px; }
.wpcf7-form input[type="submit"]:hover { transform: translateY(2px); box-shadow: 0 3px 0 var(--orange-dark); }
.wpcf7-not-valid-tip { color: #e74c3c; font-size: 12px; margin-top: 4px; display: block; }
.wpcf7-mail-sent-ok { background: #e8f5e9; border: 1px solid #4caf50; border-left: 5px solid #4caf50; border-radius: 6px; padding: 16px 20px; color: #2e7d32; font-size: 15px; font-weight: 700; margin-top: 20px; }
.wpcf7-mail-sent-ng { background: #fdecea; border-left: 5px solid #e74c3c; border-radius: 6px; padding: 16px 20px; color: #c62828; font-size: 14px; margin-top: 20px; }
.cf7-section-label { font-size: 15px; font-weight: 900; color: var(--dark2); margin: 24px 0 12px; padding-bottom: 8px; border-bottom: 2px solid var(--orange); }
.cf7-datetime-group { display: flex; flex-direction: column; gap: 6px; margin-bottom: 20px; }
.cf7-datetime-row { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; background: #f8f8f8; border-radius: 6px; padding: 10px 14px; border-left: 4px solid var(--orange); }
.cf7-datetime-label { font-size: 12px; font-weight: 900; color: #fff; background: var(--orange); padding: 3px 10px; border-radius: 4px; white-space: nowrap; }
.cf7-datetime-fields { width: 100%; }
.cf7-datetime-fields p { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; }
.cf7-datetime-fields label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: #888; font-weight: 700; margin-bottom: 0; line-height: 1.3; }
.cf7-datetime-fields label br { display: none; }
.cf7-datetime-fields input[type="date"] { width: 100%; height: 42px; padding: 0 10px; font-size: 14px; box-sizing: border-box; border: 2px solid #ddd; border-radius: 6px; background: #fafafa; outline: none; }
.cf7-datetime-fields input[type="date"]:focus { border-color: var(--orange); background: #fff; }
.cf7-datetime-fields select { width: 100%; height: 42px; padding: 0 10px; font-size: 13px; box-sizing: border-box; border: 2px solid #ddd; border-radius: 6px; background: #fafafa; outline: none; cursor: pointer; font-family: "Noto Sans JP", sans-serif; color: #333; }
.cf7-datetime-fields select:focus { border-color: var(--orange); background: #fff; }
.cf7-datetime-fields .wpcf7-form-control-wrap { display: block; }
.cf7-file-note { font-size: 12px; color: #999; margin-top: 6px; }

@media screen and (max-width: 667px) {
  .contact-hero { padding: 40px 20px 35px; }
  .contact-hero-title { font-size: 26px; }
  .contact-tel-bar-num { font-size: 24px; }
  .contact-form-wrap { padding: 25px 20px; }
  .cf7-datetime-row { flex-direction: column; gap: 8px; }
  .cf7-datetime-fields { flex-direction: column; }
}
/* お問い合わせバナー スタッフ画像 */
.bike-inquiry-banner-staff-img {
  width: 90px !important;
  height: 90px !important;
  max-width: 90px !important;
  max-height: 90px !important;
  object-fit: cover;
  object-position: center top;
  border-radius: 50%;
  flex-shrink: 0;
  border: 3px solid var(--orange);
  display: block;
}
@media screen and (max-width: 667px) {
  .bike-inquiry-banner-staff-img {
    display: none !important;
  }
}
/* 初年度登録年月 PC横並び・スマホ縦並び */
select[name="registration-year"],
select[name="registration-month"] {
  width: 100% !important;
  display: block !important;
}
@media screen and (min-width: 668px) {
  .cf7-row div p {
    display: inline-block !important;
    margin: 0 4px 0 0 !important;
    vertical-align: middle;
  }
  select[name="registration-year"] {
    width: 140px !important;
    display: inline-block !important;
  }
  select[name="registration-month"] {
    width: 85px !important;
    display: inline-block !important;
  }
}
@media screen and (max-width: 667px) {
  .cf7-row div p {
    display: block !important;
    margin-bottom: 8px !important;
  }
  select[name="registration-year"],
  select[name="registration-month"] {
    width: 100% !important;
    display: block !important;
  }
}
/* プライバシーポリシー */
.cf7-privacy-policy {
  border: 1px solid #ddd;
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 20px;
}
.cf7-privacy-policy-title {
  background: var(--orange);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  padding: 10px 18px;
  text-align: center;
}
.cf7-privacy-policy-body {
  height: 150px;
  overflow-y: scroll;
  padding: 15px 18px;
  font-size: 13px;
  color: #555;
  line-height: 1.8;
  background: #fafafa;
}
.cf7-privacy-policy-body p {
  margin-bottom: 10px;
}
.bike-header { height: 80px; overflow: hidden; }
.bike-header-inner { height: 80px; display: flex; align-items: center; }
.bike-header img { height: 52px; width: auto; max-width: none; display: block; }
.bike-stats-silhouette, .bike-stats-silhouette-left { display: none; }
body.bike-page { padding-top: 0; }
body.bike-page { padding-top: 0 !important; }
.bike-inquiry-banner-time { font-size: 12px; color: rgba(255,255,255,0.75); margin-top: 6px; }

/* =============================================
   H1タグ（SEO用・メインビュー内）
   ============================================= */
.bike-main-h1 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  margin: 0;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.75);
  background: rgba(0, 0, 0, 0.45);
  text-align: center;
  letter-spacing: 0.03em;
  line-height: 1.5;
  box-sizing: border-box;
}

@media screen and (max-width: 667px) {
  .bike-main-h1 {
    font-size: 11px;
    padding: 5px 12px;
  }
}

/* ==================
   バイク車検基礎知識（SEO）
   ================== */
.bike-knowledge-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.bike-knowledge-item {
  background: #fafafa;
  border-left: 4px solid #ff7800;
  border-radius: 0 8px 8px 0;
  padding: 22px 26px;
  transition: all .2s;
}
.bike-knowledge-item:hover {
  background: #fff;
  box-shadow: 0 4px 18px rgba(0,0,0,0.08);
}
.bike-knowledge-item h3 {
  font-size: 17px;
  font-weight: 900;
  color: #2d3841;
  margin-bottom: 10px;
}
.bike-knowledge-item p {
  font-size: 14px;
  color: #444;
  line-height: 1.9;
}
.bike-knowledge-item p strong {
  color: #c05000;
  font-weight: 900;
}
@media screen and (max-width: 667px) {
  .bike-knowledge-grid { grid-template-columns: 1fr; }
  .bike-knowledge-item { padding: 18px 20px; }
}

/* ==================
   対応エリア（ローカルSEO）
   ================== */
.bike-area-lead {
  font-size: 15px;
  color: #444;
  line-height: 1.9;
  margin-bottom: 30px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}
.bike-area-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 25px;
}
.bike-area-item {
  background: #fff;
  border-left: 4px solid #ff7800;
  border-radius: 0 6px 6px 0;
  padding: 18px 22px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.bike-area-item h3 {
  font-size: 15px;
  font-weight: 900;
  color: #2d3841;
  margin-bottom: 8px;
}
.bike-area-item p {
  font-size: 13px;
  color: #555;
  line-height: 1.7;
}
.bike-area-access {
  background: #fff8f0;
  border: 2px solid #ff7800;
  border-radius: 8px;
  padding: 15px 20px;
  font-size: 15px;
  color: #2d3841;
  text-align: center;
  line-height: 1.7;
}
.bike-area-access strong {
  color: #ff7800;
  font-weight: 900;
}
@media screen and (max-width: 667px) {
  .bike-area-grid { grid-template-columns: 1fr; }
  .bike-area-lead { font-size: 14px; }
  .bike-area-access { font-size: 13px; }
}

/* ==================
   フッターナビゲーション
   ================== */
.bike-footer-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 20px;
  padding: 12px 0 20px;
  border-bottom: 1px solid #333;
  margin-bottom: 15px;
}
.bike-footer-nav a {
  color: #aaa;
  text-decoration: none;
  font-size: 12px;
  transition: color .15s;
}
.bike-footer-nav a:hover {
  color: #ff7800;
}

/* ==================
   パンくずリスト
   ================== */
.bike-breadcrumb {
  background: #2d3841;
  padding: 8px 20px;
  border-bottom: 1px solid rgba(255,120,0,0.2);
}
.bike-breadcrumb-inner {
  max-width: 1170px;
  margin: 0 auto;
}
.bike-breadcrumb ol {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0;
  margin: 0;
  font-size: 12px;
}
.bike-breadcrumb li {
  display: inline-flex;
  align-items: center;
  color: #aaa;
}
.bike-breadcrumb li:not(:last-child)::after {
  content: '›';
  margin: 0 6px;
  color: #ff7800;
  font-weight: 700;
}
.bike-breadcrumb a {
  color: #ccc;
  text-decoration: none;
  transition: color .15s;
}
.bike-breadcrumb a:hover {
  color: #ff7800;
}
.bike-breadcrumb li:last-child span {
  color: #ff7800;
  font-weight: 700;
}
@media screen and (max-width: 667px) {
  .bike-breadcrumb { padding: 6px 15px; }
  .bike-breadcrumb ol { font-size: 11px; }
}

/* ==================
   COMING SOON バッジ
   ================== */
.coming-soon-badge {
  display: inline-block;
  color: #ff0000;
  background: #fff;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 3px;
  padding: 5px 16px;
  border: 3px solid #ff0000;
  border-radius: 6px;
  margin-top: 12px;
  line-height: 1.2;
  text-shadow: none;
  box-shadow: 0 3px 12px rgba(255,0,0,0.4);
  animation: comingSoonPulse 1.8s ease-in-out infinite;
}
@keyframes comingSoonPulse {
  0%, 100% { transform: scale(1); box-shadow: 0 3px 12px rgba(255,0,0,0.4); }
  50%      { transform: scale(1.05); box-shadow: 0 3px 20px rgba(255,0,0,0.7); }
}
@media screen and (max-width: 667px) {
  .coming-soon-badge { font-size: 14px; padding: 3px 10px; letter-spacing: 2px; }
}