:root{
  --white:#ffffff;
  --bg:#fafafa;
  --bg-soft:#f5f5f7;
  --ink:#1a1a1a;
  --ink-soft:#3a3a3a;
  --ink-muted:#7a7a7a;
  --navy:#1a2b5c;
  --navy-soft:#2c3e7a;
  --sky:#5bb5d9;
  --sky-d:#4a9cc9;
  --sky-l:#8ecde0;
  --sky-pale:#e1f0f5;
  --sky-bg:#f0f8fb;
  --khaki:#b8a07a;
  --khaki-d:#a38b65;
  --khaki-l:#d4c2a0;
  --silver:#888888;
  --silver-d:#6a6a6a;
  --bronze:#b87333;
  --bronze-d:#8b4513;
  --neutral:#7a7a7a;
  --neutral-d:#5a5a5a;
  --gold:#c9a961;
  --gold-d:#8b6f2a;
  --gold-l:#e8d49a;
  --beige:#f5eedd;
  --beige-l:#faf5e8;
  --line:#e8e8eb;
  --line-soft:#f0f0f3;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,sans-serif;
  background:var(--bg);
  color:var(--ink);
  line-height:1.85;
  font-feature-settings:"palt";
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  font-size:16px;
}
img{max-width:100%;display:block;}

.wrap{
  max-width:880px;
  margin:0 auto;
  background:var(--white);
  min-height:100vh;
  box-shadow:0 0 30px rgba(0,0,0,0.06);
}

/* ============== FV ============== */
.fv{
  padding:0 40px 36px;
  text-align:center;
  background:var(--sky-pale);
  border-bottom:1px solid var(--line);
}
.fv .label-year{
  display:inline-block;
  background:var(--sky);
  color:#fff;
  padding:7px 22px;
  font-size:13px;
  font-weight:700;
  letter-spacing:0.18em;
  border-radius:2px;
  margin-bottom:24px;
}
.fv h1{
  font-size:38px;
  font-weight:900;
  color:var(--navy);
  line-height:1.4;
  letter-spacing:0.03em;
  margin-bottom:20px;
}
.fv h1 .sky{color:var(--sky-d);}
.fv .lead{
  font-size:15px;
  color:var(--ink-soft);
  line-height:2;
  margin:0 auto;
  max-width:640px;
  padding:18px 24px;
  background:rgba(255,255,255,0.9);
  border:1px solid var(--line);
  border-radius:6px;
  text-align:left;
}
.fv .editor-by{
  font-size:12px;
  color:var(--ink-muted);
  margin-top:18px;
  letter-spacing:0.1em;
}
.fv .editor-by strong{
  color:var(--navy);
  font-weight:700;
}

/* ============== sticky 動作のための親要素オーバーライド ============== */
/* TCD等の親テーマが body/html に overflow:hidden を付与すると sticky が壊れるため強制解除 */
html:has(body.lp-dryer-ranking),
body.lp-dryer-ranking{
  overflow-x:clip !important;
  overflow-y:visible !important;
}
body.lp-dryer-ranking .wrap{
  overflow:visible !important;
}

/* ============== カテゴリタブ（追従メニュー） ============== */
.tabs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  padding:14px 24px;
  background:rgba(255,255,255,0.96);
  backdrop-filter:saturate(180%) blur(8px);
  -webkit-backdrop-filter:saturate(180%) blur(8px);
  border-bottom:1px solid var(--line);
  position:-webkit-sticky;
  position:sticky;
  top:0;
  z-index:100;
  box-shadow:0 2px 12px rgba(0,0,0,0.04);
}
.tab{
  background:var(--bg);
  padding:16px 8px;
  text-align:center;
  border-radius:6px;
  font-size:13px;
  line-height:1.4;
  border:1px solid var(--line);
  color:var(--ink-soft);
  cursor:pointer;
  transition:all 0.2s;
  font-weight:700;
  text-decoration:none;
  display:block;
}
.tab .icon{
  display:flex;
  align-items:center;
  justify-content:center;
  height:24px;
  margin-bottom:6px;
  color:var(--sky-d);
}
.tab .icon svg{
  width:22px;
  height:22px;
  display:block;
}
.tab.active{
  background:var(--sky);
  color:#fff;
  border-color:var(--sky);
}
.tab.active .icon{color:#fff;}

/* ============== セクション見出し ============== */
.section-heading{
  text-align:center;
  padding:48px 24px 24px;
  background:var(--white);
}
.section-heading .eyebrow{
  font-size:12px;
  letter-spacing:0.5em;
  color:var(--sky-d);
  font-weight:700;
  margin-bottom:10px;
}
.section-heading h2{
  font-size:30px;
  font-weight:900;
  color:var(--navy);
  line-height:1.4;
  letter-spacing:0.03em;
}
.section-heading h2 em{
  font-style:normal;
  color:var(--sky-d);
  font-size:36px;
}
.section-heading .sub{
  font-size:13px;
  color:var(--ink-muted);
  margin-top:10px;
}

/* ============== ランキングカード ============== */
.rank-card{
  background:var(--white);
  margin:0 24px 32px;
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 4px 20px rgba(0,0,0,0.06);
}

/* カードヘッダ */
.card-head{
  position:relative;
  background:var(--khaki);
  padding:24px 130px;  /* 左右対称でタイトルを真の中央に */
  color:#fff;
  min-height:108px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
}

/* ランキングバッジ */
.card-head .rank-badge{
  position:absolute;
  top:50%;
  left:20px;
  transform:translateY(-50%);
  width:96px;
  height:106px;
}
.card-head .rank-badge svg,
.card-head .rank-badge img{
  width:100%;
  height:100%;
  display:block;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,0.18));
}

.card-head .title-block{
  flex:1;
  text-align:center;
  min-width:0;
}
.card-head .title-block h3{
  font-family:"Noto Sans JP",sans-serif;
  font-size:30px;
  font-weight:900;
  color:#fff;
  letter-spacing:0.02em;
  line-height:1.2;
  margin-bottom:6px;
}
.card-head .title-block .jp{
  font-size:13px;
  color:rgba(255,255,255,0.92);
  letter-spacing:0.18em;
  font-weight:500;
}

/* 順位ごとのヘッダ色 */
.rank-card.r1 .card-head{background:var(--khaki);}
.rank-card.r2 .card-head{background:var(--silver);}
.rank-card.r3 .card-head{background:var(--bronze);}
.rank-card.r4 .card-head{background:var(--neutral);}
.rank-card.r5 .card-head{background:var(--neutral-d);}

/* メインビジュアル */
.card-main{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  padding:32px 32px;
  background:var(--white);
  border-bottom:1px solid var(--line);
}
.card-img{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
}
.card-img .img-box{
  width:100%;
  max-width:280px;
  aspect-ratio:1/1;
  background:var(--white);
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--ink-muted);
  font-size:12px;
  letter-spacing:0.12em;
  overflow:hidden;
  position:relative;
}
.card-img .img-box img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  padding:12px;
  box-sizing:border-box;
}
.card-img .img-box .img-placeholder{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--ink-muted);
  font-size:11px;
  letter-spacing:0.1em;
  text-align:center;
  padding:8px;
  background:#fafafa;
  pointer-events:none;
}
.card-img .img-box img:not([src=""]):not([src$="#none"]) + .img-placeholder{display:none;}
.card-price-box{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
}
.card-price-box .price-card{
  background:var(--beige-l);
  border-radius:6px;
  padding:32px 20px;
  width:100%;
  max-width:320px;
  text-align:center;
}
.card-price-box .price-label{
  font-size:13px;
  color:var(--khaki-d);
  font-weight:700;
  letter-spacing:0.08em;
  margin-bottom:8px;
}
.card-price-box .price-old{
  display:inline-block;
  font-size:14px;
  color:var(--ink-muted);
  text-decoration:line-through;
  margin-bottom:8px;
}
.card-price-box .price-now{
  font-family:"Noto Sans JP",sans-serif;
  font-size:38px;
  font-weight:900;
  color:var(--sky-d);
  letter-spacing:0.01em;
  line-height:1.1;
  margin:6px 0;
}
.card-price-box .price-now .tax{
  font-size:14px;
  color:var(--ink-muted);
  font-weight:400;
  margin-left:4px;
}
.card-price-box .price-tag{
  display:inline-block;
  background:var(--sky);
  color:#fff;
  font-size:13px;
  font-weight:700;
  padding:5px 14px;
  border-radius:4px;
  margin-top:8px;
  letter-spacing:0.08em;
}
.card-price-box .price-note{
  font-size:11px;
  color:var(--ink-muted);
  margin-top:10px;
  line-height:1.6;
}

/* セット内容ハイライト */
.set-highlight{
  margin:0 32px 24px;
  background:var(--beige-l);
  border:2px solid var(--khaki);
  border-radius:8px;
  padding:20px 24px;
  position:relative;
}
.set-highlight .set-tag{
  position:absolute;
  top:-14px;
  left:24px;
  background:var(--khaki);
  color:#fff;
  font-size:12px;
  font-weight:900;
  padding:4px 14px;
  letter-spacing:0.1em;
  border-radius:3px;
}
.set-highlight h4{
  font-size:18px;
  font-weight:900;
  color:var(--navy);
  margin-bottom:14px;
  letter-spacing:0.02em;
  line-height:1.4;
  padding-left:0;
  border-left:none;
}
.set-highlight h4 em{
  font-style:normal;
  color:var(--sky-d);
  background:linear-gradient(transparent 65%, var(--sky-pale) 65%);
  padding:0 4px;
}
.set-highlight ul{
  list-style:none;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 16px;
}
.set-highlight li{
  position:relative;
  padding:8px 8px 8px 30px;
  font-size:14px;
  line-height:1.5;
  color:var(--ink-soft);
  background:var(--white);
  border-radius:4px;
}
.set-highlight li::before{
  content:"";
  position:absolute;
  left:8px;top:11px;
  width:16px;height:16px;
  border-radius:50%;
  background:var(--khaki);
}
.set-highlight li::after{
  content:"✓";
  position:absolute;
  left:11px;top:7px;
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.set-highlight li strong{
  color:var(--khaki-d);
  font-weight:700;
}

/* スペック表 - 2列レイアウト */
.card-spec{
  background:var(--white);
  border-bottom:1px solid var(--line);
}
.card-spec table{
  width:100%;
  border-collapse:collapse;
  font-size:14px;
}
.card-spec tr{
  border-bottom:1px solid var(--line-soft);
}
.card-spec tr:last-child{border-bottom:none;}
.card-spec th{
  background:var(--bg-soft);
  padding:14px 18px;
  text-align:left;
  width:22%;
  color:var(--ink-soft);
  font-weight:500;
  font-size:13px;
  border-right:1px solid var(--line-soft);
}
.card-spec td{
  padding:14px 18px;
  width:28%;
  color:var(--ink);
  font-weight:700;
  border-right:1px solid var(--line-soft);
}
.card-spec td:last-child{border-right:none;}
.card-spec td.highlight{color:var(--sky-d);}
.card-spec td.muted{color:var(--ink-muted);font-weight:400;font-size:12px;}
.card-spec td .unit{
  font-size:11px;
  color:var(--ink-muted);
  margin-left:3px;
  font-weight:400;
}

/* 説明文 */
.card-desc{
  padding:28px 32px;
  background:var(--white);
  border-bottom:1px solid var(--line);
}
.card-desc h4{
  font-size:18px;
  font-weight:900;
  color:var(--navy);
  margin-bottom:12px;
  letter-spacing:0.02em;
  line-height:1.5;
  border-left:4px solid var(--sky);
  padding-left:12px;
}
.card-desc p{
  font-size:14px;
  color:var(--ink-soft);
  line-height:2;
}
.card-desc strong{
  color:var(--sky-d);
  font-weight:700;
  background:linear-gradient(transparent 65%, var(--sky-pale) 65%);
  padding:0 2px;
}
.card-desc .footnote{
  display:block;
  font-size:11px;
  color:var(--ink-muted);
  margin-top:14px;
  line-height:1.7;
  padding-top:10px;
  border-top:1px dashed var(--line);
}

/* 特徴リスト */
.card-features{
  padding:28px 32px;
  background:var(--bg);
  border-bottom:1px solid var(--line);
}
.card-features h4{
  font-size:18px;
  font-weight:900;
  color:var(--navy);
  margin-bottom:16px;
  letter-spacing:0.02em;
  border-left:4px solid var(--sky);
  padding-left:12px;
}
.card-features ul{
  list-style:none;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 18px;
}
.card-features li{
  position:relative;
  padding:14px 14px 14px 44px;
  font-size:14px;
  line-height:1.7;
  color:var(--ink-soft);
  background:var(--white);
  border:1px solid var(--line);
  border-radius:6px;
}
.card-features li::before{
  content:"";
  position:absolute;
  left:14px;top:18px;
  width:20px;height:20px;
  border-radius:50%;
  background:var(--sky);
}
.card-features li::after{
  content:"✓";
  position:absolute;
  left:18px;top:14px;
  color:#fff;
  font-size:12px;
  font-weight:900;
}

/* 編集部コメント */
.card-editor{
  margin:0 32px 28px;
  padding:24px 24px 24px 28px;
  background:var(--sky-pale);
  border-left:4px solid var(--sky);
  border-radius:0 6px 6px 0;
  font-size:14px;
  line-height:2;
  color:var(--ink-soft);
}
.card-editor .editor-label{
  font-size:13px;
  font-weight:900;
  color:var(--sky-d);
  letter-spacing:0.1em;
  margin-bottom:8px;
  display:block;
}
.card-editor strong{
  color:var(--navy);
  font-weight:700;
}

/* レビュー */
.card-review{
  padding:28px 32px;
  background:var(--bg);
  border-bottom:1px solid var(--line);
}
.card-review h4{
  font-size:18px;
  font-weight:900;
  color:var(--navy);
  margin-bottom:16px;
  letter-spacing:0.02em;
  border-left:4px solid var(--sky);
  padding-left:12px;
}
.review-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:16px;
}
.review-stat{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:6px;
  padding:16px;
  text-align:center;
}
.review-stat .src{
  font-size:11px;
  color:var(--ink-muted);
  letter-spacing:0.05em;
  margin-bottom:6px;
}
.review-stat .stars-mini{
  color:var(--sky);
  font-size:14px;
  letter-spacing:1px;
}
.review-stat .num{
  font-family:"Noto Sans JP",sans-serif;
  font-size:30px;
  font-weight:900;
  color:var(--navy);
  line-height:1.1;
  margin:4px 0;
}
.review-stat .ct{
  font-size:11px;
  color:var(--ink-muted);
}
.voices{
  list-style:none;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 16px;
  margin-top:12px;
}
.voices li{
  position:relative;
  padding:8px 8px 8px 26px;
  font-size:13px;
  line-height:1.7;
  color:var(--ink-soft);
}
.voices li.pos::before{
  content:"";
  position:absolute;
  left:6px;top:16px;
  width:14px;height:2px;
  background:var(--sky);
}
.voices li.neg::before{
  content:"";
  position:absolute;
  left:6px;top:16px;
  width:14px;height:3px;
  background:var(--ink-muted);
  opacity:0.5;
}

/* CTA */
.card-cta{
  padding:28px 32px 32px;
  background:var(--white);
}
.cta-button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:var(--sky);
  color:#fff;
  text-decoration:none;
  padding:22px;
  border-radius:6px;
  font-weight:900;
  font-size:18px;
  letter-spacing:0.06em;
  width:100%;
  transition:background 0.2s;
}
.cta-button:hover{ background:var(--sky-d); }
.cta-button::after{
  content:"▶";
  font-size:12px;
}
.cta-button.r2{ background:var(--navy); }
.cta-button.r2:hover{ background:#0d1838; }
.cta-button.r3, .cta-button.r4, .cta-button.r5{ background:var(--neutral-d); }
.cta-button.r3:hover, .cta-button.r4:hover, .cta-button.r5:hover{ background:#3a3a3a; }
.cta-sub{
  text-align:center;
  font-size:12px;
  color:var(--ink-muted);
  margin-top:10px;
  letter-spacing:0.05em;
}

/* ============== 比較表セクション ============== */
.comparison-section{
  padding:24px 0 0;
  background:var(--white);
  border-top:8px solid var(--bg);
}
.comparison-wrap{
  overflow-x:auto;
  padding:20px 24px 32px;
  -webkit-overflow-scrolling:touch;
}
.comparison-wrap::-webkit-scrollbar{height:8px;}
.comparison-wrap::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px;}
.comparison-table{
  width:100%;
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:0;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:6px;
  overflow:visible;
}
.comparison-table th, .comparison-table td{
  padding:10px 6px;
  text-align:center;
  border-bottom:1px solid var(--line-soft);
  border-right:1px solid var(--line-soft);
  font-size:12px;
  vertical-align:middle;
  word-break:normal;
  overflow-wrap:break-word;
  line-height:1.4;
}
.comparison-table th:last-child, .comparison-table td:last-child{border-right:none;}
.comparison-table tr:last-child th, .comparison-table tr:last-child td{border-bottom:none;}
.comparison-table .row-label{
  background:var(--navy);
  color:#fff;
  font-weight:700;
  text-align:left;
  padding:12px 10px;
  width:90px;
  font-size:11px;
  position:sticky;
  left:0;
  z-index:2;
}
.comparison-table tr.head-row th{
  background:var(--bg-soft);
  padding:14px 6px 12px;
  font-weight:900;
  font-size:12px;
  color:var(--navy);
  line-height:1.4;
  vertical-align:top;
}
.comparison-table tr.head-row th.rank-1-col{
  background:var(--sky-pale);
  position:relative;
}
.comparison-table tr.head-row th.rank-1-col::before{
  content:"イチオシ";
  position:absolute;
  top:-10px;
  left:50%;
  transform:translateX(-50%);
  background:var(--sky);
  color:#fff;
  font-size:10px;
  font-weight:900;
  padding:3px 10px;
  border-radius:3px;
  white-space:nowrap;
  letter-spacing:0.08em;
}
.comparison-table tr.head-row th .rank-no{
  display:block;
  font-size:10px;
  color:var(--ink-muted);
  letter-spacing:0.1em;
  margin-bottom:4px;
}
.comparison-table tr.head-row th .brand{
  display:block;
  font-size:11px;
  color:var(--khaki-d);
  letter-spacing:0.15em;
  margin-bottom:2px;
}
.comparison-table tr.head-row th .name{
  display:block;
  font-size:13px;
  color:var(--ink);
}
.comparison-table tr:nth-child(even):not(.head-row) td:not(.row-label){
  background:rgba(245,245,247,0.5);
}
.comparison-table td.col-1{
  background:var(--sky-pale) !important;
  font-weight:700;
}
.comparison-table td.col-1.highlight{
  color:var(--sky-d);
}
.comparison-table td.muted{color:var(--ink-muted);font-weight:400;font-size:11px;}
.comparison-table td .unit{
  font-size:10px;
  color:var(--ink-muted);
  margin-left:2px;
  font-weight:400;
}
.comparison-table td.img-cell{
  padding:14px 8px;
}
.comparison-table .mini-img{
  width:80px;height:80px;
  background:#fff;
  border:1px solid var(--line);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:9px;
  color:var(--ink-muted);
  border-radius:4px;
  overflow:hidden;
}
.comparison-table .mini-img img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  padding:4px;
  box-sizing:border-box;
}
.comparison-table td.cta-cell a{
  display:block;
  padding:8px 6px;
  background:var(--sky);
  color:#fff;
  text-decoration:none;
  font-weight:900;
  font-size:11px;
  border-radius:4px;
  letter-spacing:0.05em;
}
.comparison-table td.cta-cell a:hover{ background:var(--sky-d); }

/* スクロールヒント - SP only */
.scroll-hint{
  display:none;
  text-align:center;
  font-size:11px;
  color:var(--ink-muted);
  padding:10px 16px;
  background:var(--bg-soft);
  border-bottom:1px solid var(--line);
}
.scroll-hint::before{content:"← ";}
.scroll-hint::after{content:" →";}
@media (max-width:720px){
  .scroll-hint{display:block;}
}

/* ============== FV強化 ============== */
.fv-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:24px auto 0;
  max-width:560px;
}
.fv-stat{
  background:#fff;
  border:1px solid var(--line);
  border-radius:6px;
  padding:14px 8px;
  text-align:center;
}
.fv-stat .num{
  display:block;
  font-size:26px;
  font-weight:900;
  color:var(--sky-d);
  line-height:1.1;
  margin-bottom:2px;
}
.fv-stat .lbl{
  display:block;
  font-size:11px;
  color:var(--ink-muted);
  letter-spacing:0.05em;
}
.fv-scroll{
  margin-top:22px;
  display:inline-block;
  font-size:13px;
  font-weight:700;
  color:var(--sky-d);
  text-decoration:none;
  padding:10px 22px;
  border:2px solid var(--sky);
  border-radius:999px;
  background:#fff;
  letter-spacing:0.05em;
  transition:all 0.2s;
}
.fv-scroll:hover{background:var(--sky);color:#fff;}
.fv-scroll::after{content:" ▼";font-size:10px;}

/* ============== 今月のオススメ商品（MV下バナー） ============== */
.monthly-pick{
  margin:36px auto 24px;
  max-width:640px;
}
.monthly-pick-title{
  font-family:"Noto Sans JP",sans-serif;
  font-size:22px;
  font-weight:900;
  color:var(--navy);
  letter-spacing:0.05em;
  margin-bottom:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  text-indent:0.05em;
}
.monthly-pick-title::before,
.monthly-pick-title::after{
  content:"";
  flex:0 0 32px;
  height:1px;
  background:var(--navy);
}
.monthly-pick-card{
  background:#fff;
  border:1px solid var(--sky);
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 6px 20px rgba(20,50,90,0.10);
}
.monthly-pick-head{
  background:var(--sky);
  color:#fff;
  padding:12px 20px;
  text-align:center;
  font-size:12px;
  letter-spacing:0.18em;
  font-weight:700;
  text-indent:0.18em;
}
.monthly-pick-head strong{
  color:#fff;
  font-size:15px;
  font-weight:900;
  margin-left:12px;
  letter-spacing:0.08em;
}
.monthly-pick-body{
  padding:20px 22px;
  display:grid;
  grid-template-columns:160px 1fr;
  gap:22px;
  align-items:center;
  background:var(--sky-pale);
}
.monthly-pick-img{
  background:#fff;
  border-radius:8px;
  padding:12px;
  aspect-ratio:1/1;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
}
.monthly-pick-img img{
  display:block;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.monthly-pick-features{
  list-style:none;
  margin:0 0 14px;
  padding:0;
}
.monthly-pick-features li{
  padding-left:16px;
  position:relative;
  font-size:13px;
  color:var(--ink-soft);
  line-height:1.9;
  text-align:left;
}
.monthly-pick-features li::before{
  content:"・";
  color:var(--sky-d);
  position:absolute;
  left:0;
  font-weight:900;
}
.monthly-pick-features li.hilite{
  color:#c8354e;
  font-weight:700;
}
.monthly-pick-features li.hilite::before{
  color:#c8354e;
}
.monthly-pick-cta{
  display:block;
  padding:15px 20px;
  background:var(--sky);
  color:#fff;
  text-align:center;
  font-weight:900;
  font-size:15px;
  border-radius:6px;
  text-decoration:none;
  letter-spacing:0.05em;
  transition:background 0.2s;
  text-indent:0.05em;
}
.monthly-pick-cta:hover{background:var(--sky-d);color:#fff;}
.monthly-pick-cta .arw{margin-left:6px;font-size:12px;}

/* ============== FV ヒーロー画像 ============== */
.fv-hero{
  position:relative;
  margin:0 -40px 32px;
  background:#cde8f0;
  overflow:hidden;
}
.fv-hero img{
  display:block;
  width:100%;
  height:auto;
}
.fv-hero-overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:6% 24px;
  text-align:center;
  pointer-events:none;
}
.fv-hero-overlay .label-year{
  display:inline-block;
  background:rgba(255,255,255,0.95);
  color:var(--navy);
  border:1px solid var(--navy);
  padding:7px 22px;
  font-size:13px;
  font-weight:700;
  letter-spacing:0.4em;
  border-radius:1px;
  margin-bottom:28px;
  text-indent:0.4em;
  box-shadow:0 2px 8px rgba(0,30,60,0.08);
}
.fv-hero-overlay h1{
  font-family:"Noto Serif JP",serif;
  font-size:64px;
  font-weight:900;
  color:#fff;
  line-height:1.45;
  letter-spacing:0.18em;
  text-indent:0.18em;
  text-shadow:
    0 2px 10px rgba(20,50,90,0.55),
    0 0 30px rgba(20,50,90,0.45),
    0 0 60px rgba(20,50,90,0.3);
  margin:0;
}
.fv-hero-overlay h1 .sky{color:#fff;}
.fv-hero-overlay .hero-sub{
  display:block;
  margin-top:24px;
  font-size:12px;
  letter-spacing:0.35em;
  color:#fff;
  font-weight:500;
  text-shadow:0 1px 6px rgba(20,50,90,0.6),0 0 16px rgba(20,50,90,0.4);
  text-indent:0.35em;
}

/* ============== 編集部キービジュアル ============== */
.editor-keyvisual{
  margin:8px 24px 0;
}
.editor-keyvisual img{
  display:block;
  width:100%;
  height:auto;
  border-radius:8px;
  border:1px solid var(--line);
}
.editor-keyvisual-cap{
  margin:14px 24px 28px;
  font-size:12px;
  color:var(--ink-muted);
  text-align:center;
  letter-spacing:0.05em;
  line-height:1.6;
}

/* ============== 詳細レビュー（軸別ランキング） ============== */
.review-section{
  padding:24px 0 0;
  background:var(--white);
  border-top:8px solid var(--bg);
}
.axis-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  padding:0 24px 32px;
}
.axis-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,0.04);
}
.axis-card .axis-head{
  background:var(--sky-pale);
  padding:18px 18px;
  text-align:center;
  border-bottom:1px solid var(--line);
}
.axis-card .axis-head .icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  margin:0 auto 10px;
  border-radius:50%;
  background:#fff;
  border:1px solid var(--sky);
  color:var(--sky-d);
}
.axis-card .axis-head .icon svg{
  width:26px;
  height:26px;
  display:block;
}
.axis-card .axis-head h3{
  font-size:16px;
  font-weight:900;
  color:var(--navy);
  letter-spacing:0.05em;
  line-height:1.3;
}
.axis-card .axis-head .sub{
  font-size:11px;
  color:var(--ink-muted);
  margin-top:4px;
  letter-spacing:0.05em;
}
.axis-list{
  list-style:none;
  padding:8px 0;
}
.axis-list li{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:10px;
  align-items:center;
  padding:12px 16px;
  border-bottom:1px solid var(--line-soft);
}
.axis-list li:last-child{border-bottom:none;}
.axis-list .rk{
  font-family:"Noto Sans JP",sans-serif;
  font-weight:900;
  font-size:18px;
  color:var(--ink-muted);
  text-align:center;
}
.axis-list li.is-1 .rk{color:var(--sky-d);font-size:22px;}
.axis-list .nm{
  font-size:12px;
  line-height:1.4;
}
.axis-list .nm strong{
  display:block;
  color:var(--ink);
  font-weight:700;
  font-size:13px;
}
.axis-list .nm .val{
  display:block;
  color:var(--sky-d);
  font-weight:700;
  font-size:11px;
  margin-top:2px;
}

.review-conclusion{
  margin:0 24px 40px;
  padding:36px 28px;
  background:linear-gradient(180deg, var(--sky-pale) 0%, var(--white) 100%);
  border:2px solid var(--sky);
  border-radius:10px;
  text-align:center;
}
.review-conclusion .lead{
  font-size:13px;
  color:var(--sky-d);
  font-weight:700;
  letter-spacing:0.25em;
  margin-bottom:10px;
}
.review-conclusion h3{
  font-size:26px;
  font-weight:900;
  color:var(--navy);
  line-height:1.4;
  letter-spacing:0.03em;
  margin-bottom:18px;
}
.review-conclusion h3 em{
  font-style:normal;
  color:var(--sky-d);
  font-size:30px;
}
.review-conclusion p{
  font-size:14px;
  color:var(--ink-soft);
  line-height:2;
  max-width:680px;
  margin:0 auto;
}
.review-conclusion p strong{
  color:var(--sky-d);
  font-weight:700;
  background:linear-gradient(transparent 65%, rgba(91,181,217,0.2) 65%);
  padding:0 2px;
}

/* ============== Q&A ============== */
.qa-section{
  padding:24px 0 40px;
  background:var(--bg);
  border-top:8px solid var(--white);
}
.qa-wrap{
  padding:0 24px;
}
details.qa{
  background:#fff;
  border:1px solid var(--line);
  border-radius:6px;
  margin-bottom:10px;
  overflow:hidden;
  transition:box-shadow 0.2s;
}
details.qa[open]{
  box-shadow:0 4px 12px rgba(0,0,0,0.06);
}
details.qa summary{
  list-style:none;
  cursor:pointer;
  padding:18px 50px 18px 60px;
  font-size:15px;
  font-weight:700;
  color:var(--navy);
  line-height:1.5;
  position:relative;
  letter-spacing:0.02em;
}
details.qa summary::-webkit-details-marker{display:none;}
details.qa summary::before{
  content:"Q";
  position:absolute;
  left:18px;top:50%;
  transform:translateY(-50%);
  width:32px;height:32px;
  border-radius:50%;
  background:var(--sky);
  color:#fff;
  font-weight:900;
  font-size:15px;
  text-align:center;
  line-height:32px;
}
details.qa summary::after{
  content:"＋";
  position:absolute;
  right:20px;top:50%;
  transform:translateY(-50%);
  color:var(--sky-d);
  font-weight:900;
  font-size:22px;
  transition:transform 0.2s;
}
details.qa[open] summary::after{
  content:"−";
}
details.qa .qa-body{
  position:relative;
  font-size:13px;
  line-height:2;
  color:var(--ink-soft);
  border-top:1px dashed var(--line);
  padding:18px 24px 24px 60px;
  margin:0;
}
details.qa .qa-body::before{
  content:"A";
  position:absolute;
  left:18px;top:18px;
  width:32px;height:32px;
  border-radius:50%;
  background:var(--khaki);
  color:#fff;
  font-weight:900;
  font-size:15px;
  text-align:center;
  line-height:32px;
}
details.qa .qa-body strong{
  color:var(--sky-d);
  font-weight:700;
  background:linear-gradient(transparent 65%, var(--sky-pale) 65%);
  padding:0 2px;
}

/* ============== 最終CTA ============== */
.final-cta{
  padding:48px 24px 56px;
  background:var(--white);
  text-align:center;
  border-top:8px solid var(--bg);
}
.final-cta .conclusion{
  background:var(--sky-pale);
  border:2px solid var(--sky);
  border-radius:12px;
  padding:36px 24px;
  max-width:680px;
  margin:0 auto;
}
.final-cta .conclusion .lead{
  font-size:13px;
  color:var(--sky-d);
  font-weight:700;
  letter-spacing:0.3em;
  margin-bottom:10px;
}
.final-cta .conclusion h2{
  font-size:30px;
  font-weight:900;
  color:var(--navy);
  line-height:1.3;
  letter-spacing:0.02em;
  margin-bottom:16px;
}
.final-cta .conclusion h2 em{
  font-style:normal;
  color:var(--sky-d);
  font-size:34px;
}
.final-cta .conclusion .product-name{
  font-size:22px;
  font-weight:900;
  color:var(--ink);
  margin:16px 0;
  letter-spacing:0.03em;
}
.final-cta .conclusion .reasons{
  list-style:none;
  display:inline-block;
  text-align:left;
  margin:16px 0 24px;
}
.final-cta .conclusion .reasons li{
  padding:6px 0 6px 30px;
  position:relative;
  font-size:14px;
  color:var(--ink-soft);
  font-weight:500;
}
.final-cta .conclusion .reasons li::before{
  content:"✓";
  position:absolute;
  left:0;top:9px;
  width:20px;height:20px;
  border-radius:50%;
  background:var(--sky);
  color:#fff;
  text-align:center;
  line-height:20px;
  font-size:11px;
  font-weight:900;
}
.final-cta .conclusion .reasons li strong{color:var(--sky-d);}
.final-cta .price-final{
  margin:16px 0 8px;
  font-size:13px;
  color:var(--ink-muted);
}
.final-cta .price-final .strike{
  text-decoration:line-through;
  margin-right:8px;
}
.final-cta .price-final .now{
  font-size:34px;
  font-weight:900;
  color:var(--sky-d);
  letter-spacing:-0.01em;
}
.final-cta .price-final .now .tax{font-size:14px;font-weight:400;color:var(--ink-muted);margin-left:4px;}
.final-cta .price-final .off-tag{
  display:inline-block;
  background:var(--sky);
  color:#fff;
  font-size:12px;
  font-weight:900;
  padding:4px 12px;
  border-radius:3px;
  margin-left:8px;
  letter-spacing:0.05em;
  vertical-align:8px;
}
.final-cta .big-cta{
  display:block;
  max-width:480px;
  margin:24px auto 12px;
  background:var(--sky);
  color:#fff;
  text-decoration:none;
  padding:24px;
  border-radius:8px;
  font-weight:900;
  font-size:20px;
  letter-spacing:0.05em;
  transition:background 0.2s;
  box-shadow:0 4px 16px rgba(91,181,217,0.4);
}
.final-cta .big-cta:hover{background:var(--sky-d);}
.final-cta .big-cta::after{content:" ▶";font-size:14px;}
.final-cta .cta-note{
  font-size:11px;
  color:var(--ink-muted);
  margin-top:8px;
  letter-spacing:0.05em;
}

/* ============== サイトフッター強化 ============== */
.site-footer{
  padding:40px 24px 32px;
  background:var(--navy);
  color:#d4dae8;
  font-size:12px;
  line-height:1.8;
}
.site-footer .footer-inner{max-width:760px;margin:0 auto;}
.site-footer .footer-section{
  margin-bottom:24px;
  padding-bottom:20px;
  border-bottom:1px solid rgba(255,255,255,0.1);
}
.site-footer .footer-section:last-of-type{border-bottom:none;}
.site-footer h4{
  font-size:12px;
  font-weight:900;
  color:#fff;
  letter-spacing:0.15em;
  margin-bottom:12px;
  padding-left:12px;
  border-left:3px solid var(--sky);
}
.site-footer p{
  font-size:12px;
  line-height:1.9;
  margin-bottom:4px;
}
.site-footer .pr-notice{
  background:rgba(91,181,217,0.1);
  border:1px solid rgba(91,181,217,0.3);
  border-radius:4px;
  padding:14px 16px;
  margin-top:10px;
  font-size:11px;
  line-height:1.7;
  color:#c8d4e8;
}
.site-footer .links{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:0;
  margin:24px 0 20px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,0.1);
}
.site-footer .links li{
  font-size:13px;
  padding:0 22px;
  position:relative;
}
.site-footer .links li:not(:last-child)::after{
  content:"|";
  position:absolute;
  right:-2px;
  top:50%;
  transform:translateY(-50%);
  color:rgba(255,255,255,0.25);
  font-weight:300;
}
.site-footer .links a{color:#c8d4e8;text-decoration:none;font-weight:500;}
.site-footer .links a:hover{color:#fff;text-decoration:underline;}
.site-footer .copyright{
  text-align:center;
  padding-top:16px;
  font-size:10px;
  color:#7a86a0;
  letter-spacing:0.1em;
}

footer{
  padding:40px 24px;
  background:var(--bg);
  text-align:center;
  font-size:12px;
  color:var(--ink-muted);
  line-height:1.8;
  border-top:1px solid var(--line);
}
footer p{margin-bottom:6px;}

/* ===== レスポンシブ ===== */
@media (max-width:720px){
  body{font-size:14px;}
  .wrap{max-width:100%;}
  .fv{padding:0 20px 24px;}
  .fv-hero{margin:0 -20px 20px;}
  .fv-hero-overlay{padding:6% 16px;}
  .fv-hero-overlay .label-year{padding:5px 16px;font-size:10px;letter-spacing:0.3em;margin-bottom:16px;text-indent:0.3em;}
  .fv-hero-overlay h1{
    font-size:34px;
    line-height:1.45;
    letter-spacing:0.14em;
    text-indent:0.14em;
    text-shadow:
      0 1px 2px rgba(15,40,80,0.85),
      0 2px 8px rgba(15,40,80,0.6),
      0 0 20px rgba(15,40,80,0.5),
      0 0 40px rgba(15,40,80,0.35);
  }
  .fv-hero-overlay .hero-sub{margin-top:14px;font-size:10px;letter-spacing:0.25em;text-indent:0.25em;}
  /* スマホのFVに薄いネイビー中心グローを追加して白文字を浮き上がらせる */
  .fv-hero{position:relative;}
  .fv-hero::after{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(
      ellipse 70% 55% at center 52%,
      rgba(15,40,80,0.32) 0%,
      rgba(15,40,80,0.16) 45%,
      rgba(15,40,80,0.04) 70%,
      transparent 85%
    );
    pointer-events:none;
    z-index:1;
  }
  .fv-hero-overlay{z-index:2;}
  .editor-keyvisual{margin:8px 16px 0;}
  .editor-keyvisual-cap{margin:12px 16px 24px;font-size:11px;}
  .fv h1{font-size:26px;}
  .fv .lead{font-size:13px;padding:14px 16px;}
  /* 今月のオススメ商品 モバイル */
  .monthly-pick{margin:28px auto 20px;}
  .monthly-pick-title{font-size:17px;margin-bottom:14px;letter-spacing:0.04em;text-indent:0.04em;}
  .monthly-pick-title::before,
  .monthly-pick-title::after{flex-basis:22px;}
  .monthly-pick-head{padding:10px 16px;font-size:11px;letter-spacing:0.14em;text-indent:0.14em;}
  .monthly-pick-head strong{font-size:13px;display:block;margin:4px 0 0;}
  .monthly-pick-body{grid-template-columns:1fr;padding:16px;gap:14px;}
  .monthly-pick-img{max-width:180px;margin:0 auto;padding:10px;}
  .monthly-pick-features li{font-size:13px;line-height:1.8;}
  .monthly-pick-cta{font-size:14px;padding:14px 16px;}
  .section-heading{padding:32px 16px 16px;}
  .section-heading h2{font-size:24px;}
  .section-heading h2 em{font-size:28px;}
  /* スマホはボトムナビに切替（追従メニューは画面下に固定） */
  .tabs{
    position:fixed;
    top:auto;
    bottom:0;
    left:0;
    right:0;
    padding:8px 8px calc(env(safe-area-inset-bottom, 0px) + 8px);
    gap:6px;
    border-top:1px solid var(--line);
    border-bottom:none;
    box-shadow:0 -4px 14px rgba(0,0,0,0.08);
    z-index:200;
  }
  .tab{font-size:11px;padding:8px 4px;border-radius:8px;}
  .tab .icon{height:20px;margin-bottom:2px;}
  .tab .icon svg{width:18px;height:18px;}
  /* ボトムナビに隠れないよう本文に余白を追加 */
  body.lp-dryer-ranking{
    padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 70px);
  }
  .rank-card{margin:0 12px 24px;}
  .card-head{padding:20px 105px;min-height:96px;}
  .card-head .rank-badge{width:80px;height:88px;left:12px;}
  .card-head .title-block h3{font-size:22px;}
  .card-head .title-block .jp{font-size:11px;}
  .card-main{grid-template-columns:1fr;padding:20px;}
  .card-spec table{font-size:13px;}
  .card-spec th, .card-spec td{padding:11px 10px;}
  .card-spec th{font-size:11px;width:22%;letter-spacing:0;}
  .card-spec td{width:28%;}
  .card-desc, .card-features, .card-review{padding:20px;}
  .card-desc h4, .card-features h4, .card-review h4{font-size:16px;}
  .card-features ul{grid-template-columns:1fr;}
  .card-editor{margin:0 20px 20px;padding:18px 18px 18px 22px;font-size:13px;}
  .voices{grid-template-columns:1fr;}
  .card-cta{padding:20px;}
  .cta-button{padding:18px;font-size:16px;}
  .card-price-box .price-now{font-size:32px;}
  .set-highlight{margin:0 20px 20px;padding:18px 16px;}
  .set-highlight h4{font-size:15px;}
  .set-highlight ul{grid-template-columns:1fr;}
  .set-highlight li{font-size:13px;}
  .comparison-wrap{padding:24px 12px 24px;}
  .comparison-table{min-width:580px;}
  .comparison-table th, .comparison-table td{padding:9px 5px;font-size:11px;}
  .comparison-table .row-label{width:72px;font-size:10px;padding:10px 8px;}
  .comparison-table tr.head-row th{padding:12px 5px 10px;font-size:11px;}
  .comparison-table tr.head-row th .rank-no{font-size:9px;}
  .comparison-table tr.head-row th .brand{font-size:10px;letter-spacing:0.08em;}
  .comparison-table tr.head-row th .name{font-size:11px;}
  .comparison-table tr.head-row th.rank-1-col::before{font-size:9px;padding:2px 8px;top:-9px;letter-spacing:0.05em;}
  .comparison-table .mini-img{width:60px;height:60px;}
  .comparison-table td.img-cell{padding:8px 4px;}
  .comparison-table td.cta-cell a{font-size:10px;padding:7px 4px;letter-spacing:0;}
  .fv-stats{grid-template-columns:repeat(3,1fr);gap:6px;}
  .fv-stat{padding:10px 4px;}
  .fv-stat .num{font-size:20px;}
  .fv-stat .lbl{font-size:10px;}
  .axis-grid{grid-template-columns:1fr;padding:0 16px 24px;gap:12px;}
  .review-conclusion{margin:0 16px 32px;padding:24px 18px;}
  .review-conclusion h3{font-size:20px;}
  .review-conclusion h3 em{font-size:24px;}
  .qa-wrap{padding:0 16px;}
  details.qa summary{padding:14px 42px 14px 50px;font-size:14px;}
  details.qa summary::before{width:28px;height:28px;font-size:13px;line-height:28px;left:14px;}
  details.qa .qa-body{padding:14px 18px 18px 50px;}
  details.qa .qa-body::before{width:28px;height:28px;font-size:13px;line-height:28px;left:14px;}
  .final-cta{padding:32px 16px 40px;}
  .final-cta .conclusion{padding:24px 18px;}
  .final-cta .conclusion h2{font-size:24px;}
  .final-cta .conclusion h2 em{font-size:28px;}
  .final-cta .conclusion .product-name{font-size:18px;}
  .final-cta .big-cta{padding:18px;font-size:17px;}
  .final-cta .price-final .now{font-size:28px;}
  .site-footer{padding:32px 16px 24px;}
}

/* ================================================================
   v3 追加層（2026-07-20）— デザインは旧版のまま、以下3点のみ追加
   ①遷移先LP画像（tokuten-shot / lp-shot）②クーポン追従バナー ③PCフォント拡大
   ================================================================ */

/* ---- ①遷移先LP画像 ---- */
.tokuten-shot{margin:0 32px 24px;}
.tokuten-shot a{display:block;border-radius:8px;overflow:hidden;border:1px solid var(--khaki);}
.tokuten-shot img{display:block;width:100%;height:auto;}
.shot-cap{
  font-size:11px;
  color:var(--ink-muted);
  text-align:center;
  margin-top:8px;
  letter-spacing:0.04em;
}
.lp-shot{margin:0 32px 24px;border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.lp-shot img{display:block;width:100%;height:auto;}
@media (max-width:720px){
  .tokuten-shot{margin:0 20px 20px;}
  .lp-shot{margin:0 20px 20px;}
}

/* ---- ②クーポン追従バナー（脱毛器比較と同型・✕で閉じられる） ---- */
.float-coupon{
  position:fixed;
  right:14px;
  bottom:14px;
  width:240px;
  z-index:300;
}
.float-coupon a{
  display:block;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,0.28);
  transition:transform 0.2s;
}
.float-coupon a:hover{transform:translateY(-3px);}
.float-coupon img{display:block;width:100%;height:auto;}
.float-coupon .fc-close{
  position:absolute;
  top:-10px;
  right:-10px;
  width:26px;height:26px;
  border-radius:50%;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink-soft);
  font-size:16px;
  line-height:1;
  cursor:pointer;
  z-index:2;
  box-shadow:0 2px 8px rgba(0,0,0,0.2);
}
@media (max-width:720px){
  .float-coupon{
    width:150px;
    right:8px;
    /* ボトムタブ（約70px+セーフエリア）の上に載せる */
    bottom:calc(env(safe-area-inset-bottom, 0px) + 84px);
  }
  .float-coupon .fc-close{top:-8px;right:-8px;width:24px;height:24px;font-size:14px;}
}

/* ---- ③PC閲覧時のフォント拡大（720px超） ---- */
@media (min-width:721px){
  body{font-size:17px;}
  .fv .lead{font-size:16px;}
  .fv .editor-by{font-size:13px;}
  .fv-stat .num{font-size:30px;}
  .fv-stat .lbl{font-size:12px;}
  .monthly-pick-features li{font-size:14px;}
  .monthly-pick-cta{font-size:16px;}
  .section-heading h2{font-size:34px;}
  .section-heading h2 em{font-size:40px;}
  .section-heading .sub{font-size:14px;}
  .card-head .title-block .jp{font-size:14px;}
  .card-spec table{font-size:15px;}
  .card-spec th{font-size:14px;}
  .card-desc h4, .card-features h4, .card-review h4{font-size:20px;}
  .card-desc p{font-size:15.5px;}
  .card-desc .footnote{font-size:12px;}
  .card-features li{font-size:15px;}
  .card-editor{font-size:15px;}
  .card-editor .editor-label{font-size:14px;}
  .review-stat .num{font-size:34px;}
  .review-stat .src{font-size:12px;}
  .review-stat .ct{font-size:12px;}
  .voices li{font-size:14px;}
  .cta-sub{font-size:13px;}
  .set-highlight h4{font-size:19px;}
  .set-highlight li{font-size:15px;}
  .comparison-table th, .comparison-table td{font-size:13px;}
  .comparison-table tr.head-row th .name{font-size:14px;}
  .axis-card .axis-head h3{font-size:17px;}
  .axis-list .nm strong{font-size:14px;}
  .axis-list .nm .val{font-size:12px;}
  .review-conclusion p{font-size:15px;}
  details.qa summary{font-size:16px;}
  details.qa .qa-body{font-size:14px;}
  .final-cta .conclusion .reasons li{font-size:15px;}
  .final-cta .cta-note{font-size:12px;}
  .site-footer p{font-size:13px;}
}

/* v3.1: 親テーマ(TCD)が wp_head で body{font-size:14px} を後読みで上書きするため、
   LPスコープ＋!important で基準フォントを確実に適用（PC拡大の完全化） */
@media (min-width:721px){
  body.lp-dryer-ranking{font-size:17px !important;}
}
@media (max-width:720px){
  body.lp-dryer-ranking{font-size:14px !important;}
}
