/*
Theme Name: おすすめ商品セレクトナビ Child
Description: GeneratePress用子テーマ。WordPressとPHPランキングの共通デザイン。
Author: Site Owner
Template: generatepress
Version: 1.6.2
Text Domain: select-navi-child
*/

:root{
 --sn-red:#d90012;
 --sn-red-dark:#b9000d;
 --sn-ink:#151820;
 --sn-muted:#667085;
 --sn-line:#e5e8ee;
 --sn-bg:#f4f6f8;
 --sn-panel:#fff;
 --sn-radius:12px;
 --sn-shadow:0 8px 28px rgba(24,32,45,.065);
}
*{box-sizing:border-box}
html,body{margin:0!important;background:var(--sn-bg)!important}
body{color:var(--sn-ink)!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif!important;letter-spacing:.01em}

/* GeneratePress標準ヘッダー/ナビは非表示。子テーマの共通ヘッダーを使用 */
body>.site-header,
body>#site-navigation,
body>.main-navigation,
body>.site-header+.main-navigation{display:none!important}

/* =========================================================
   共通ヘッダー v1.3
   - サイト名の上に余白を確保
   - ピンクの波形装飾は使用しない
   - 白基調＋下線だけのシンプルなヘッダー
========================================================= */
.sn-site-header{position:relative;z-index:10;background:#fff;border:0;border-bottom:1px solid #e7eaf0;box-shadow:none}
.sn-header-main{background:#fff}
.sn-header-inner{width:100%;max-width:1180px;min-height:112px;margin:0 auto;padding:24px 20px 16px;display:flex;align-items:center;justify-content:space-between;gap:42px}
.sn-brand{position:relative;display:flex;align-items:center;min-width:0;padding-left:22px;color:inherit!important;text-decoration:none!important}
.sn-brand-line{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--sn-red);border-radius:3px}
.sn-brand-copy{display:block;min-width:0}
.sn-brand-title{display:block;color:#11151b;font-size:27px;line-height:1.2;font-weight:750;letter-spacing:.025em;white-space:nowrap}
.sn-brand-tagline{display:block;margin-top:7px;color:#6c7584;font-size:13px;line-height:1.45;letter-spacing:.06em;white-space:nowrap}
.sn-header-nav{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:0 0 auto}
.sn-nav-link{position:relative;display:flex;align-items:center;gap:7px;height:48px;padding:0 12px;color:#1d2330!important;text-decoration:none!important;font-size:13px;font-weight:700;white-space:nowrap}
.sn-nav-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 17px}
.sn-nav-link:first-child svg{fill:currentColor;stroke:none}
.sn-nav-link:hover,.sn-nav-link:focus,.sn-nav-link.is-current{color:var(--sn-red)!important}
.sn-nav-link.is-current:after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:2px;background:var(--sn-red);border-radius:3px}


/* =========================================================
   本文 + サイドバー：上辺を完全に揃える
========================================================= */
.site.grid-container{max-width:none!important}
.site-content{width:100%!important;max-width:1180px!important;margin:28px auto 46px!important;padding:0 18px!important}
@media(min-width:901px){
 .site-content{display:grid!important;grid-template-columns:minmax(0,1fr) 300px!important;gap:24px!important;align-items:start!important}
 #primary{float:none!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
 #primary .site-main{margin:0!important;padding:0!important}
 #primary .site-main>article:first-child{margin-top:0!important}
 #primary article{margin:0!important}
 #primary .inside-article{width:100%!important;margin:0!important;padding:34px 36px 38px!important;background:#fff!important;border:1px solid #eceff3!important;border-radius:var(--sn-radius)!important;box-shadow:var(--sn-shadow)!important}
 #right-sidebar{float:none!important;width:300px!important;min-width:300px!important;max-width:300px!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;align-self:start!important}
 #right-sidebar .inside-right-sidebar{width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
 #right-sidebar .inside-right-sidebar>.widget:first-child{margin-top:0!important}
}
#right-sidebar .widget,#right-sidebar .widget_block,#right-sidebar .widget_text{width:100%!important;margin:0 0 18px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
#right-sidebar .wp-block-shortcode{margin:0!important;padding:0!important}

/* =========================================================
   WordPress側の商品検索をイメージ画像と同じカードにする
========================================================= */
#right-sidebar .sn-product-search-widget,
#right-sidebar .widget:has(input[type="search"]),
#right-sidebar .widget:has(input[name="keyword"]){
 overflow:hidden!important;
 padding:0 14px 15px!important;
 background:#fff!important;
 border:1px solid #dde2e8!important;
 border-radius:10px!important;
 box-shadow:0 4px 16px rgba(25,33,45,.045)!important;
}
.sn-search-card-heading{display:flex;align-items:center;min-height:50px;margin:0 -14px 11px;padding:0 14px;border-bottom:1px solid #e7eaf0;color:#171a20;font-size:14px;font-weight:800}
.sn-search-heading-mark{width:3px;height:24px;margin-right:11px;background:var(--sn-red);border-radius:3px;flex:0 0 3px}
.sn-search-card-heading svg{width:18px;height:18px;margin-left:auto;fill:none;stroke:#7b8799;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sn-product-search-widget p,.sn-product-search-widget label,#right-sidebar .widget:has(input[type="search"]) label{color:#77808f!important;font-size:12px!important;line-height:1.5!important}
.sn-search-form,.sn-product-search-widget form,#right-sidebar .widget:has(input[type="search"]) form{margin:0!important}
.sn-product-search-widget form>div,.sn-search-form>div{display:flex!important;gap:8px!important;align-items:stretch!important}
.sn-search-input,.sn-product-search-widget input[type="search"],.sn-product-search-widget input[name="keyword"],#right-sidebar .widget:has(input[type="search"]) input[type="search"]{width:100%!important;min-width:0!important;height:42px!important;margin:0!important;padding:0 12px!important;background:#fff!important;border:1px solid #d9dee6!important;border-radius:6px!important;color:#252a33!important;font-size:13px!important;box-shadow:none!important}
.sn-search-button,.sn-product-search-widget button[type="submit"],.sn-product-search-widget input[type="submit"],#right-sidebar .widget:has(input[type="search"]) button[type="submit"]{min-width:68px!important;height:42px!important;margin:0!important;padding:0 14px!important;background:var(--sn-red)!important;border:0!important;border-radius:6px!important;color:#fff!important;font-size:13px!important;font-weight:800!important;box-shadow:none!important}
.sn-search-button:hover,.sn-product-search-widget button[type="submit"]:hover{background:var(--sn-red-dark)!important}

body.home .entry-header{display:none!important}
body.single .entry-title,body.page:not(.home) .entry-title{margin:0 0 26px!important;color:#171a20!important;font-size:32px!important;line-height:1.45!important;font-weight:550!important;letter-spacing:.025em!important}
.entry-meta{color:#858b94!important;font-size:12px!important}.entry-content{margin-top:0!important}
.entry-content h2{margin:30px 0 18px!important;padding:0 0 10px!important;color:#20242b!important;border-bottom:2px solid var(--sn-red)!important;font-size:20px!important;line-height:1.45!important;font-weight:700!important}
.entry-content h3{color:#20242b!important;font-size:18px!important;line-height:1.5!important;font-weight:700!important}

@media(max-width:1000px){
 .sn-header-inner{gap:20px}.sn-brand-title{font-size:23px}.sn-brand-tagline{font-size:11px}.sn-header-nav{gap:2px}.sn-nav-link{padding:0 8px;font-size:12px}
}
@media(max-width:900px){
 .sn-header-main{height:auto}.sn-header-inner{min-height:0;padding:22px 18px 16px;display:block}.sn-brand{display:inline-flex}.sn-header-nav{margin-top:12px;justify-content:flex-start;overflow-x:auto;padding-bottom:2px}
 .site-content{display:block!important;margin-top:20px!important}
 #primary,#right-sidebar{float:none!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important}
 #primary .site-main{margin:0!important}#primary .inside-article{padding:26px 24px!important;border-radius:10px!important}
 #right-sidebar{margin-top:20px!important}
 body.single .entry-title,body.page:not(.home) .entry-title{font-size:27px!important}
}
@media(max-width:650px){
 .sn-header-inner{padding:20px 13px 14px}.sn-brand{padding-left:15px}.sn-brand-title{font-size:20px}.sn-brand-tagline{font-size:10.5px;white-space:normal}.sn-header-nav{gap:0}.sn-nav-link{height:40px;padding:0 8px;font-size:11px}.sn-nav-link svg{width:15px;height:15px}
 .site-content{margin-top:14px!important;padding:0 10px!important}
 #primary .inside-article{padding:22px 16px!important;border-radius:8px!important}
 body.single .entry-title,body.page:not(.home) .entry-title{font-size:24px!important}
}

/* v1.3: 旧波形マークアップがキャッシュに残っても非表示 */
.sn-header-wave,.sn-wave{display:none!important}

/* =========================================================
   v1.4 商品検索タイトル重複対策
   既存スニペットが出力する2つ目の「商品を検索」だけを非表示。
   説明文・入力欄・検索ボタンはそのまま残す。
========================================================= */
#right-sidebar .sn-product-search-widget .sn-duplicate-search-title{
 display:none!important;
 margin:0!important;
 padding:0!important;
 height:0!important;
 min-height:0!important;
 border:0!important;
 overflow:hidden!important;
}


/* =========================================================
   v1.5 投稿メタ情報を非表示
   投稿タイトル下の「日付 by admin」だけを削除。
   カテゴリー等の本文内表示には影響しません。
========================================================= */
body.single .entry-header .entry-meta{
 display:none!important;
 margin:0!important;
 padding:0!important;
 height:0!important;
 min-height:0!important;
 overflow:hidden!important;
}


/* =========================================================
   v1.6.1 人向けサイトマップ（固定ページ欄を整理）
========================================================= */
.sn-human-sitemap{margin-top:4px}
.sn-sitemap-lead{margin:0 0 24px!important;color:#5f6875;line-height:1.8}
.sn-sitemap-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-bottom:28px}
.sn-sitemap-card,.sn-sitemap-ranking{overflow:hidden;background:#fff;border:1px solid #e2e6eb;border-radius:10px;box-shadow:0 4px 16px rgba(25,33,45,.035)}
.entry-content .sn-sitemap-card h2,.entry-content .sn-sitemap-ranking>h2{margin:0!important;padding:14px 17px!important;border:0!important;border-bottom:1px solid #e8ebef!important;color:#20242b!important;font-size:17px!important;line-height:1.5!important;font-weight:800!important}
.sn-sitemap-card h2:before,.sn-sitemap-ranking>h2:before{content:"";display:inline-block;width:3px;height:20px;margin-right:10px;vertical-align:-4px;background:var(--sn-red);border-radius:3px}
.sn-sitemap-links{display:block}
.sn-sitemap-links a,.sn-sitemap-rank-group a{display:flex;align-items:flex-start;gap:7px;padding:10px 14px;color:#2a3038!important;text-decoration:none!important;border-bottom:1px solid #eef0f2;font-size:13px;line-height:1.55}
.sn-sitemap-links a:last-child,.sn-sitemap-rank-group a:last-child{border-bottom:0}
.sn-sitemap-links a:hover,.sn-sitemap-rank-group a:hover{background:#fff8f8;color:var(--sn-red)!important}
.sn-sitemap-arrow{flex:0 0 16px;color:var(--sn-red);font-size:18px;line-height:1.2;font-weight:800;text-align:center}
.sn-sitemap-ranking{padding-bottom:18px}
.sn-sitemap-ranking>p{margin:12px 17px 4px!important;color:#6b7380;font-size:13px}
.sn-sitemap-ranking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px 16px 0}
.sn-sitemap-ranking-all{grid-column:1/-1;display:block;padding:12px 14px;background:#fff4f4;border:1px solid #f2d0d0;border-radius:7px;color:var(--sn-red)!important;text-decoration:none!important;font-size:14px;font-weight:800;text-align:center}
.sn-sitemap-rank-group{overflow:hidden;border:1px solid #e5e8ec;border-radius:8px;background:#fff}
.entry-content .sn-sitemap-rank-group h3{margin:0!important;padding:11px 13px!important;background:#f7f8fa;color:#303640!important;border:0!important;border-bottom:1px solid #e8ebef!important;font-size:14px!important;line-height:1.45!important;font-weight:800!important}
@media(max-width:700px){.sn-sitemap-grid,.sn-sitemap-ranking-grid{grid-template-columns:1fr}.sn-sitemap-ranking-all{grid-column:auto}}


/* =========================================================
   v1.6.2 全商品ガイド 共通CSS
   ---------------------------------------------------------
   今後の商品ガイド記事は、記事内に <style> を書かず、
   .product-guide 以下の共通クラスだけを使用します。
   このブロックを変更すると対応する全記事へ一括反映されます。
========================================================= */

.product-guide{
  --guide-red:#bf0000;
  --guide-red-soft:#fff4f4;
  --guide-red-border:#f1caca;
  --guide-text:#252525;
  --guide-sub:#666;
  --guide-line:#e7e7e7;
  --guide-bg:#fafafa;
  color:var(--guide-text);
  font-size:16px;
  line-height:1.85;
}
.product-guide *{box-sizing:border-box}
.product-guide p{margin:0 0 18px}
.product-guide a{text-decoration:none}

/* 導入 */
.guide-hero{margin-bottom:38px}
.guide-kicker{margin:0 0 10px!important;color:var(--guide-red);font-size:14px;font-weight:700;letter-spacing:.04em}
.guide-lead{color:#444}
.guide-note{margin-top:20px;padding:16px 18px;background:var(--guide-red-soft);border-left:4px solid var(--guide-red);border-radius:4px;color:#444}

/* セクション */
.guide-section{margin:44px 0;scroll-margin-top:30px}
.entry-content .product-guide .guide-section>h2{margin:0 0 22px!important;padding:0 0 9px!important;color:#222!important;font-size:22px!important;line-height:1.5!important;font-weight:700!important;border:0!important;border-bottom:2px solid var(--guide-red)!important}
.entry-content .product-guide .guide-section>h3,
.entry-content .product-guide .guide-subheading{margin:23px 0 10px!important;padding-left:11px!important;border:0!important;border-left:3px solid var(--guide-red)!important;color:#333!important;font-size:17px!important;line-height:1.55!important;font-weight:700!important}

/* ページ内メニュー */
.guide-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.guide-menu a{position:relative;display:block;padding:17px 42px 17px 18px;background:#fff;border:1px solid var(--guide-line);border-left:4px solid var(--guide-red);border-radius:7px;color:var(--guide-text)!important;transition:.18s ease}
.guide-menu a::after{content:"›";position:absolute;top:50%;right:17px;transform:translateY(-50%);color:var(--guide-red);font-size:24px;font-weight:700}
.guide-menu a:hover{background:var(--guide-red-soft);border-color:var(--guide-red-border);transform:translateY(-1px)}
.guide-menu strong{display:block;margin-bottom:3px;color:#222;font-size:16px}
.guide-menu span{display:block;color:var(--guide-sub);font-size:13px;line-height:1.55}

/* 種類カード */
.guide-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.guide-type{padding:18px;background:#fff;border:1px solid var(--guide-line);border-radius:7px}
.entry-content .product-guide .guide-type h3{margin:0 0 8px!important;padding:0!important;border:0!important;color:#222!important;font-size:17px!important;line-height:1.5!important}
.guide-type p{margin:0!important;color:#555;font-size:15px}

/* 番号付きポイント */
.guide-points{display:grid;gap:12px}
.guide-point{display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:start;padding:17px 18px;background:#fff;border:1px solid var(--guide-line);border-radius:7px}
.guide-point>span{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--guide-red-soft);border:1px solid var(--guide-red-border);border-radius:50%;color:var(--guide-red);font-size:13px;font-weight:700}
.entry-content .product-guide .guide-point h3{margin:1px 0 7px!important;padding:0!important;border:0!important;color:#222!important;font-size:17px!important;line-height:1.5!important}
.guide-point p{margin:0!important;color:#555}

/* チェックリスト */
.guide-check{margin:20px 0 26px;padding:17px 20px;background:var(--guide-bg);border:1px solid var(--guide-line);border-radius:7px}
.guide-check strong{display:block;margin-bottom:8px;color:#222;font-size:15px}
.guide-check ul{margin:0;padding-left:22px}
.guide-check li{margin:4px 0}

/* 比較表 */
.guide-table-wrap{overflow-x:auto;margin:20px 0 26px}
.guide-table{width:100%;border-collapse:collapse;background:#fff;font-size:15px}
.guide-table th,.guide-table td{padding:13px 14px;border:1px solid var(--guide-line);text-align:left;vertical-align:top}
.guide-table th{background:var(--guide-red-soft);color:#333;font-weight:700}

/* 注意欄 */
.guide-caution{margin:22px 0;padding:17px 19px;background:#fffaf3;border:1px solid #ead8bb;border-left:4px solid #c88725;border-radius:5px;color:#444}
.guide-caution strong{font-weight:700}

/* まとめ */
.guide-summary{padding:25px 26px;background:#fffafa;border:1px solid var(--guide-red-border);border-radius:8px}
.entry-content .product-guide .guide-summary>h2{margin-top:0!important}

/* 補助 */
.guide-muted{color:var(--guide-sub);font-size:13px}
.guide-ranking-intro{margin-bottom:18px}

@media(max-width:700px){
  .product-guide{font-size:15.5px}
  .entry-content .product-guide .guide-section>h2{font-size:20px!important}
  .guide-menu,.guide-types{grid-template-columns:1fr}
  .guide-point{grid-template-columns:40px 1fr;padding:15px}
  .guide-point>span{width:38px;height:38px}
  .guide-summary{padding:20px}
  .guide-table{font-size:13px}
  .guide-table th,.guide-table td{padding:10px}
}

/* =========================================================
   v1.6.3 共通フッター
========================================================= */

/* GeneratePress標準フッターを非表示 */
.site-footer {
  display: none !important;
}

/* 商品ガイド投稿末尾のカテゴリー・タグ等を非表示 */
body.single .entry-footer,
body.single .cat-links,
body.single .tags-links {
  display: none !important;
}

.sn-global-footer {
  margin-top: 0;
  background: #fff;
  border-top: 1px solid #e7e9ed;
  color: #51565c;
}

.sn-footer-inner {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 27px 24px 22px;
}

.sn-footer-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.sn-footer-brand {
  min-width: 0;
}

.sn-footer-title {
  display: inline-block;
  color: #191b1e !important;
  font-size: 17px;
  line-height: 1.4;
  font-weight: 700;
  text-decoration: none !important;
}

.sn-footer-title:hover {
  color: #bf0000 !important;
}

.sn-footer-tagline {
  margin: 4px 0 0 !important;
  color: #858b92;
  font-size: 12px;
  line-height: 1.6;
}

.sn-footer-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0;
}

.sn-footer-nav a {
  position: relative;
  padding: 4px 12px;
  color: #41464c !important;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none !important;
  white-space: nowrap;
}

.sn-footer-nav a + a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 12px;
  background: #dfe2e6;
  transform: translateY(-50%);
}

.sn-footer-nav a:hover {
  color: #bf0000 !important;
}

.sn-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 18px;
  padding-top: 15px;
  border-top: 1px solid #f0f1f3;
  color: #969ba1;
  font-size: 11px;
  line-height: 1.6;
}

.sn-footer-bottom a {
  color: #7d838a !important;
  text-decoration: none !important;
}

.sn-footer-bottom a:hover {
  color: #bf0000 !important;
}

@media (max-width: 760px) {
  .sn-footer-inner {
    padding: 24px 18px 20px;
  }

  .sn-footer-main {
    display: block;
  }

  .sn-footer-nav {
    justify-content: flex-start;
    margin-top: 14px;
    margin-left: -12px;
  }

  .sn-footer-bottom {
    display: block;
  }

  .sn-footer-bottom a {
    display: inline-block;
    margin-top: 5px;
  }
}

/* =========================================================
   v1.6.3.1
   投稿末尾の「前の記事 / 次の記事」ナビゲーションを非表示
========================================================= */

body.single .post-navigation,
body.single #nav-below,
body.single .nav-links {
  display: none !important;
}


