/* 2026-11-06 追加：トップの料金・お客様の声・FAQ／ヘッダー（PC）の詰まり解消 */
.omx-wrap { max-width: 1000px; margin: 0 auto; padding: 0 16px 40px; text-align: left; }
.home .omx-sec-price h2, .home .omx-sec-reviews h2, .home .omx-sec-faq h2 { color: #fff; }
.omx-lead { text-align: center; color: #444; font-size: 15px; line-height: 1.8; margin: 24px auto 32px; }
/* 口コミ */
.omx-reviews { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.omx-review { border: 1px solid #1a1a1a; background: #fff; padding: 28px 24px; text-align: center; }
.omx-review h3 { font-size: 18px; font-weight: 700; margin: 0 0 12px; }
.omx-score { font-size: 48px; font-weight: 800; line-height: 1; color: #1a1a1a; letter-spacing: -.02em; }
.omx-stars { color: #004982; font-size: 22px; letter-spacing: 2px; margin: 6px 0 8px; }
.omx-count { font-size: 15px; color: #333; }
.omx-count strong { font-size: 20px; }
.omx-link { display: inline-block; margin-top: 14px; font-size: 14px; color: #004982; text-decoration: underline; }
.omx-note { text-align: center; font-size: 12px; color: #777; margin-top: 16px; }
/* 料金 */
.omx-price { width: 100%; border-collapse: collapse; background: #fff; font-size: 15px; }
.omx-price th, .omx-price td { border-bottom: 1px solid #ddd; padding: 16px 12px; text-align: left; }
.omx-price thead th { background: #1a1a1a; color: #fff; font-weight: 700; text-align: center; }
.omx-price td.yen { text-align: right; font-weight: 700; font-size: 18px; white-space: nowrap; }
.omx-price td.yen small { font-size: 12px; font-weight: 400; }
.omx-price .sub { display: block; font-size: 12px; color: #666; font-weight: 400; margin-top: 2px; }
.omx-tag { display: inline-block; background: #004982; color: #fff; font-size: 11px; padding: 2px 8px; margin-right: 6px; vertical-align: 2px; }
.omx-btn { display: block; width: fit-content; margin: 28px auto 0; padding: 16px 48px; border: 1px solid #1a1a1a; background: #fefefe;
  font-weight: 700; box-shadow: 2px 2px 3px rgba(0,0,0,.2); color: #1a1a1a; }
.omx-warn { font-size: 12px; color: #d9480f; text-align: center; margin-top: 10px; }
/* FAQ */
.omx-faq details { border-bottom: 1px solid #ddd; background: #fff; }
.omx-faq summary { list-style: none; cursor: pointer; padding: 20px 44px 20px 16px; font-weight: 700; font-size: 16px; position: relative; }
.omx-faq summary::-webkit-details-marker { display: none; }
.omx-faq summary::before { content: "Q."; color: #004982; margin-right: 10px; font-weight: 800; }
.omx-faq summary::after { content: "+"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-size: 22px; color: #1a1a1a; }
.omx-faq details[open] summary::after { content: "−"; }
.omx-faq .ans { padding: 0 16px 20px 44px; line-height: 1.9; color: #333; font-size: 15px; }
@media (max-width: 767px) {
  .omx-reviews { grid-template-columns: 1fr; gap: 16px; }
  .omx-score { font-size: 40px; }
  .omx-price { font-size: 14px; }
  .omx-price th, .omx-price td { padding: 12px 8px; }
  .omx-price td.yen { font-size: 16px; }
  .omx-faq summary { font-size: 15px; }
}

/* お客様の声（川崎LPと同じマーキー型） */
.omx-voices { max-width: 1300px; margin: 32px auto 0; padding-bottom: 40px; text-align: left; }
.omx-store { margin-bottom: 28px; }
.omx-store-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; padding: 0 16px 12px; max-width: 1000px; margin: 0 auto; }
.omx-store-head h3 { font-size: 20px; font-weight: 700; margin: 0; }
.omx-chips { display: flex; gap: 8px; flex-wrap: wrap; margin: 0; }
.omx-chip { display: inline-block; border: 1px solid #1a1a1a; background: #fff; color: #1a1a1a; font-size: 13px; font-weight: 700; padding: 6px 12px; text-decoration: none; }
.omx-chip.hpb { border-color: #9f1547; color: #9f1547; }
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee-track{display:flex;gap:16px;width:max-content;animation:marquee-scroll 36s linear infinite;padding:0 16px}
.marquee.rev .marquee-track{animation-direction:reverse}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}
@keyframes marquee-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.voice-card{flex:0 0 auto;width:260px;background:#fff;border:1px solid #e5e5e5;border-radius:4px;padding:16px 18px;margin:0;line-height:1.5}
@media (min-width:1024px){.voice-card{width:340px}}
.voice-card blockquote{margin:0 0 10px;font-size:14px;line-height:1.7;color:#222}
.voice-card figcaption{font-size:12px;color:#666;font-weight:700}
.voice-source{margin:8px 16px 0;font-size:11px;color:#8a8a8a;line-height:1.5;text-align:center}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none!important}}
@media (max-width: 767px){ .omx-store-head h3 { font-size: 17px; } .omx-chip { font-size: 12px; padding: 5px 10px; } }

/* 料金表のバランス調整 */
.omx-price { table-layout: fixed; }
.omx-price col.c-menu { width: 52%; }
.omx-price col.c-store { width: 24%; }
.omx-price thead th { text-align: center; padding: 14px 12px; }
.omx-price thead th.h-menu { text-align: left; padding-left: 20px; }
.omx-price tbody td { vertical-align: middle; padding: 18px 12px; }
.omx-price tbody td:first-child { padding-left: 20px; }
.omx-price td.yen { text-align: center !important; font-size: 22px; letter-spacing: .01em; }
.omx-price td.yen + td.yen { border-left: 1px solid #eee; }
.omx-price .both { display: block; font-size: 11px; font-weight: 400; color: #666; margin-top: 2px; letter-spacing: 0; }
.omx-tag { min-width: 4.2em; text-align: center; }
.omx-tag.sub-tag { background: #fff; color: #004982; border: 1px solid #004982; padding: 1px 7px; }
@media (max-width: 767px) {
  .omx-price col.c-menu { width: 50%; }
  .omx-price col.c-store { width: 25%; }
  .omx-price tbody td:first-child { font-size: 14px; letter-spacing: -.01em; }
  .omx-price .sub { font-size: 11px; line-height: 1.5; }
  .omx-price thead th.h-menu, .omx-price tbody td:first-child { padding-left: 10px; }
  .omx-price td.yen { font-size: 16px; }
  .omx-price tbody td { padding: 14px 6px; }
  .omx-tag { display: block; width: fit-content; margin: 0 0 4px; }
}

/* ===== ヘッダー（PC）の詰まり解消 2026-11-06 ===== */
.hl-pc { display: none; }
@media screen and (min-width: 769px) {
  .nav { height: 76px; padding: 0 0 0 20px; gap: 12px; }
  .nav .rogo { flex: 0 0 auto; margin-right: auto; }
  .nav .rogo img { width: 104px; height: auto; }
  .nav .gnav { flex: 0 1 auto; padding: 0 4px; gap: 0; }
  .nav .gnav li a { font-size: clamp(12.5px, 1.02vw, 15px); padding: 0 clamp(6px, .78vw, 14px); white-space: nowrap; letter-spacing: .02em; line-height: 76px; }
  .header_line_links { display: flex; align-self: stretch; }
  .header_line_links .reserve_btn { width: auto !important; border: 0 !important; background: #06c755 !important; }
  .header_line_links .reserve_btn + .reserve_btn { border-left: 1px solid rgba(255,255,255,.55) !important; }
  .header_line_links .reserve_btn a { height: 76px; padding: 0 clamp(10px, 1.1vw, 18px) !important; display: flex !important; align-items: center; gap: 8px;
    color: #fff !important; border: 0 !important; font-size: 14px !important; white-space: nowrap; }
  .header_line_links .reserve_btn a:before { display: none !important; }
  .header_line_links .reserve_btn a img { width: 30px !important; height: 30px !important; object-fit: contain; background: #fff; border-radius: 8px; padding: 3px; box-sizing: border-box; }
  .hl-sp { display: none !important; }
  .hl-pc { display: flex; flex-direction: column; line-height: 1.2; text-align: left; }
  .hl-pc small { font-size: 11px; font-weight: 700; opacity: .9; }
  .hl-pc b { font-size: 15px; font-weight: 800; letter-spacing: .02em; }
}

@media screen and (min-width: 769px) and (max-width: 1099px) {
  .nav { padding-left: 12px; gap: 6px; }
  .nav .rogo img { width: 84px; }
  .nav .gnav li a { font-size: 12px; padding: 0 5px; letter-spacing: 0; }
  .header_line_links .reserve_btn a { padding: 0 9px !important; gap: 6px; }
  .header_line_links .reserve_btn a img { width: 24px !important; height: 24px !important; }
  .hl-pc small { display: none; }
  .hl-pc b { font-size: 13px; }
}

@media screen and (min-width: 769px) and (max-width: 879px) {
  .nav { padding-left: 8px; gap: 4px; }
  .nav .rogo img { width: 72px; }
  .nav .gnav li a { font-size: 11px; padding: 0 4px; }
  .header_line_links .reserve_btn a { padding: 0 7px !important; }
  .hl-pc b { font-size: 12px; }
}

/* ===== フッターの詰まり解消 2026-11-06：PCはメニューを6列×2段で間隔をあける／スマホは行間をそろえる ===== */
@media screen and (min-width: 769px) {
  .footer { padding: 72px 15px 24px !important; }
  .footer .footer_flex { max-width: 1100px; margin: 0 auto 56px !important; align-items: center; flex-wrap: nowrap; gap: 32px; }
  .footer .footer_menu { display: grid !important; grid-template-columns: repeat(6, max-content); gap: 18px 44px; width: auto !important; font-size: 15px; letter-spacing: .06em; }
  .footer .footer_menu li { margin: 0 !important; text-align: left; }
  .footer .footer_menu li a { opacity: .92; }
  .footer .footer_menu li a:hover { opacity: 1; text-decoration: underline; text-underline-offset: 4px; }
  .footer .icon_flex { width: auto !important; gap: 22px; flex-wrap: nowrap; }
  .footer .icon_flex li { width: auto !important; }
}
@media screen and (min-width: 769px) and (max-width: 1099px) {
  .footer .footer_menu { grid-template-columns: repeat(4, max-content); gap: 16px 32px; font-size: 14px; }
}
@media screen and (max-width: 768px) {
  .footer .footer_menu { row-gap: 16px; }
  .footer .footer_menu li { margin-bottom: 0 !important; }
}

/* ===== 料金ページ（/price/）2026-11-06：料金マスターどおりの料金表 ===== */
.price .price_flex_wrap table.pp-mini { width: 100%; max-width: 570px; border-collapse: collapse; margin: 32px 0 20px; font-size: 15px; color: #333; }
.price .price_flex_wrap .pp-mini tr { background: #fff; color: #333; font-size: 15px; }
.price .price_flex_wrap .pp-mini th, .price .price_flex_wrap .pp-mini td { border: 2px solid #ededed; padding: 11px 14px; vertical-align: middle; }
.price .price_flex_wrap .pp-mini tr:first-child th { background: #c7d9e3; text-align: center; }
.price .price_flex_wrap .pp-mini tr th { background: #f4f1ec; text-align: left; font-weight: 700; width: 46%; line-height: 1.5; padding: 11px 14px; }
.price .price_flex_wrap .pp-mini tr.pp-first th { background: #c2ad94; }
.price .price_flex_wrap .pp-mini tr.pp-first td { color: #d00; }
.price .price_flex_wrap .pp-mini td { text-align: right; font-weight: 700; font-size: 17px; line-height: 1.7; white-space: nowrap; }
.price .price_flex_wrap .pp-mini td small { display: block; font-size: 11px; font-weight: 400; color: #666; line-height: 1.3; }
.price .price_flex_wrap .pp-mini .pp-st { display: inline-block; font-size: 12px; font-weight: 400; color: #555; margin-right: 8px; }
.price .price_flex_wrap .pp-mini tr.pp-time th, .price .price_flex_wrap .pp-mini tr.pp-time td { font-size: 13px; font-weight: 400; color: #555; background: #fff; }
.pp-detail, .pp-datsumo .w1300 { max-width: 1000px; margin: 64px auto 0; padding: 0 16px; text-align: left; }
.pp-h2 { text-align: center; }
.pp-h3 { font-size: 22px; font-weight: 700; text-align: center; margin: 48px 0 12px; letter-spacing: .04em; }
.pp-detail .pp-h3:first-child { margin-top: 0; }
.pp-lead { font-size: 14px; line-height: 1.9; color: #444; margin: 0 auto 20px; max-width: 760px; }
.pp-mx { margin: 0 0 28px; }
.pp-mx h4 { font-size: 16px; font-weight: 700; margin: 0 0 8px; padding-left: 10px; border-left: 4px solid #004982; }
.pp-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.pp-table { width: 100%; min-width: 560px; border-collapse: collapse; background: #fff; font-size: 15px; }
.pp-table th, .pp-table td { border: 1px solid #ccc; padding: 12px 10px; text-align: center; line-height: 1.4; }
.pp-table thead th { background: #1a1a1a; color: #fff; font-weight: 700; font-size: 13px; }
.pp-table tbody th { background: #f5f5f5; font-weight: 700; text-align: left; white-space: nowrap; }
.pp-table td { font-weight: 700; white-space: nowrap; }
.pp-datsumo-t { min-width: 0; max-width: 560px; margin: 0 auto; }
.pp-datsumo-t td { text-align: right; padding-right: 20px; }
.pp-note { font-size: 12px; color: #777; text-align: center; margin: 4px 0 0; }
.pp-datsumo { padding-bottom: 160px; }
@media (max-width: 767px) {
  .price .price_flex_wrap .pp-mini tr, .price .price_flex_wrap table.pp-mini { font-size: 13px; }
  .price .price_flex_wrap .pp-mini th, .price .price_flex_wrap .pp-mini td, .price .price_flex_wrap .pp-mini tr th { padding: 9px 10px; }
  .price .price_flex_wrap .pp-mini td { font-size: 15px; }
  .pp-datsumo { padding-bottom: 120px; }
  .pp-detail, .pp-datsumo .w1300 { margin-top: 44px; }
  .pp-h3 { font-size: 18px; margin-top: 36px; }
  .pp-table { min-width: 0; font-size: 12px; table-layout: fixed; }
  .pp-table th, .pp-table td { padding: 9px 3px; }
  .pp-table thead th { font-size: 11px; letter-spacing: 0; }
  .pp-table tbody th { white-space: normal; font-size: 12px; padding-left: 6px; }
  .pp-datsumo-t { table-layout: auto; }
  .pp-datsumo-t th, .pp-datsumo-t td { font-size: 13px; padding: 10px 10px; }
}
