/* ■サイトヘッダー ここから */
/* PC・SPのヘッダー切り替え */
.site-header {
    display: none;
}

@media (min-width: 768px) {
    .site-header {
        display: block;
    }

    #hum {
        display: none;
    }
}

.site-header,
#sp_hum_nav {
    font-family: 'Montserrat', 'Noto Sans JP', '游ゴシック体', YuGothic, sans-serif;
    font-size: clamp(11px, 3.1vw, 13px);
    line-height: 1.8;
    letter-spacing: 0.1rem;
    color: #1a1a1a;
}

.site-header *,
#sp_hum_nav * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    list-style-type: none;
    text-decoration: none;
}

.site-header a,
#sp_hum_nav a {
    color: #1a1a1a;
}
/* ■サイトヘッダー ここまで */

/* ■基本設定（色の変数・文字・ボックス） ここから */
/* 元は :root と body に書かれていた指定。記事部分だけに効かせるため .article-v2 に移した */
/* body の margin:0 は移していない（.article-v2 は .wrap と同じ要素なので、移すと .wrap の margin:0 auto と重なるため） */
.article-v2{
  --ink:#1A1A1A;
  --ink-soft:#5A5A5A;
  --muted:#8C8C8C;
  --bg:#FFFFFF;
  --surface-soft:#F5F5F5;
  --line:#E5E5E5;
  --accent:#55A5A3;
  --accent-light:#8EC5B7;
  --accent-ink:#FFFFFF;
  --shadow:0 1px 2px rgba(26,26,26,.05), 0 6px 18px -10px rgba(26,26,26,.15);
  --mark-color: rgba(251,192,45,.38);
  background:var(--bg); color:var(--ink);
  font-family:"Montserrat","Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;
  line-height:1.95; font-size:14.5px; letter-spacing:.3px;
}
/* 元の *{} は .wrap 自身にも効いていたため、.article-v2 自身と中の要素の両方に指定する */
.article-v2,
.article-v2 *{box-sizing:border-box;}
/* ■基本設定（色の変数・文字・ボックス） ここまで */

/* ■レイアウト ここから */
.article-v2.wrap{max-width:1120px;margin:0 auto;padding:36px 20px 110px;}
.article-v2 .content{max-width:660px;margin:0 auto;}
/* ■レイアウト ここまで */

/* ■パンくず・タイトル・日付 ここから */
.article-v2 .breadcrumb{font-size:11.5px;color:var(--muted);margin-bottom:20px;letter-spacing:.3px;}
.article-v2 .breadcrumb a{color:var(--muted);text-decoration:none;}
.article-v2 h1{font-family:"Montserrat","Noto Sans JP",sans-serif;font-weight:700;font-size:26px;line-height:1.5;letter-spacing:.2px;margin:0 0 14px;word-break:keep-all;overflow-wrap:anywhere;line-break:strict;}
.article-v2 .dates{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;margin-bottom:32px;letter-spacing:.3px;}
.article-v2 .dates .upd{margin-left:12px;}
/* ■パンくず・タイトル・日付 ここまで */

/* ■メイン画像（hero） ここから */
.article-v2 .hero-full{max-width:680px;margin:0 auto 52px;}
.article-v2 .hero{position:relative;overflow:hidden;border-radius:6px;background:var(--surface-soft);}
.article-v2 .hero img{width:100%;display:block;aspect-ratio:1/1;object-fit:cover;object-position:center;background:var(--surface-soft);}
/* ■メイン画像（hero） ここまで */

/* ■お悩みボックス（hook） ここから */
.article-v2 .hook{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;padding:26px 28px;margin-bottom:30px;}
.article-v2 .hook-label{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--accent-ink);background:var(--accent);padding:5px 14px;border-radius:20px;margin-bottom:16px;}
.article-v2 .hook-list{list-style:none;margin:0;padding:0;}
.article-v2 .hook-list li{position:relative;padding-left:30px;margin-bottom:11px;font-size:15px;font-weight:500;color:var(--ink);line-height:1.6;}
.article-v2 .hook-list li:last-child{margin-bottom:0;}
.article-v2 .hook-list li::before{content:"✓";position:absolute;left:0;top:2px;width:20px;height:20px;background:var(--accent);color:#fff;border-radius:50%;font-size:11px;line-height:20px;text-align:center;font-weight:700;}
.article-v2 .hook-figure{margin:-10px 0 30px;}
/* ■お悩みボックス（hook） ここまで */

/* ■リード文 ここから */
.article-v2 .lede{font-size:14.5px;color:var(--ink-soft);margin-bottom:30px;}
/* ■リード文 ここまで */

/* ■マーカー（mark） ここから */
.article-v2 .mark{padding:0 3px;font-weight:500;background:linear-gradient(to bottom, transparent 55%, var(--mark-color) 55%);}
/* ■マーカー（mark） ここまで */

/* ■結論ボックス（answer-box） ここから */
.article-v2 .answer-box{background:var(--surface-soft);border-left:3px solid var(--accent);padding:24px 26px;margin-bottom:30px;}
.article-v2 .answer-box .label{font-size:10.5px;font-weight:500;letter-spacing:.14em;color:var(--accent);text-transform:uppercase;}
.article-v2 .answer-box p{margin:10px 0 0;font-size:15.5px;font-weight:500;color:var(--ink);}
/* ■結論ボックス（answer-box） ここまで */

/* ■目次（toc） ここから */
.article-v2 .toc{background:var(--surface-soft);padding:22px 26px;margin-bottom:56px;}
.article-v2 .toc .label{font-weight:500;font-size:12.5px;letter-spacing:.05em;margin-bottom:14px;color:var(--ink-soft);}
.article-v2 .toc ol{margin:0;padding-left:20px;font-size:13px;}
.article-v2 .toc li{margin-bottom:9px;}
.article-v2 .toc a{color:var(--ink-soft);text-decoration:none;}
.article-v2 .toc a:hover{color:var(--accent);}
/* ■目次（toc） ここまで */

/* ■本文（見出し・段落） ここから */
.article-v2 article section{margin-bottom:64px;}
.article-v2 h2{font-family:"Montserrat","Noto Sans JP",sans-serif;font-weight:700;font-size:22px;letter-spacing:.2px;margin:0 0 22px;padding-bottom:14px;border-bottom:2px solid var(--accent);word-break:keep-all;overflow-wrap:anywhere;line-break:strict;}
.article-v2 h3{font-family:"Montserrat","Noto Sans JP",sans-serif;font-weight:700;font-size:16px;letter-spacing:.2px;margin:28px 0 8px;word-break:keep-all;overflow-wrap:anywhere;line-break:strict;}
.article-v2 p{margin:0 0 18px;}
/* ■本文（見出し・段落） ここまで */

/* ■画像（figure・2枚並び） ここから */
.article-v2 figure{margin:0 0 46px;}
.article-v2 figure img{width:100%;height:auto;border-radius:2px;display:block;background:var(--surface-soft);}
.article-v2 figcaption{font-size:11.5px;color:var(--muted);margin-top:8px;letter-spacing:.2px;}
.article-v2 a.img-link{display:block;color:inherit;text-decoration:none;}
.article-v2 a.img-link img{transition:opacity .2s;}
.article-v2 a.img-link:hover img{opacity:.85;}
.article-v2 .img-crop{overflow:hidden;border-radius:2px;background:var(--surface-soft);}
.article-v2 .img-crop img{width:100%;height:100%;object-fit:cover;border-radius:0;}
.article-v2 .pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 30px;}
.article-v2 .pair figure{margin:0;}
/* ■画像（figure・2枚並び） ここまで */

/* ■チェックリスト（check-list） ここから */
.article-v2 .check-list{list-style:none;margin:0 0 30px;padding:0;}
.article-v2 .check-list li{border-bottom:1px solid var(--line);padding:14px 0;font-size:13.5px;}
.article-v2 .check-list li:first-child{border-top:1px solid var(--line);}
.article-v2 .check-list b{display:block;font-weight:700;font-size:13px;margin-bottom:4px;}
/* ■チェックリスト（check-list） ここまで */

/* ■仕様表（spec-table） ここから */
.article-v2 .spec-table{width:100%;border-collapse:collapse;font-size:13px;margin:0 0 26px;}
.article-v2 .spec-table th,.article-v2 .spec-table td{border-top:1px solid var(--line);padding:12px 10px;text-align:left;vertical-align:top;}
.article-v2 .spec-table tr:last-child th,.article-v2 .spec-table tr:last-child td{border-bottom:1px solid var(--line);}
.article-v2 .spec-table th{width:28%;font-weight:500;color:var(--ink-soft);background:var(--surface-soft);}
/* ■仕様表（spec-table） ここまで */

/* ■商品カード（product-card）・購入ボタン（cta-btn） ここから */
.article-v2 .product-card{display:flex;gap:20px;background:var(--surface-soft);padding:20px;margin:22px 0;}
.article-v2 .product-card img{width:110px;height:110px;object-fit:cover;flex-shrink:0;background:var(--bg);}
.article-v2 .product-card .info{flex:1;}
.article-v2 .product-card .name{font-weight:500;font-size:13.5px;margin-bottom:6px;letter-spacing:.2px;}
.article-v2 .product-card .price{font-size:12.5px;color:var(--ink-soft);margin-bottom:14px;}
.article-v2 .cta-btn{display:inline-block;background:var(--accent);color:var(--accent-ink);font-weight:500;font-size:12.5px;letter-spacing:.5px;padding:11px 26px;border-radius:6px;text-decoration:none;}
.article-v2 .cta-btn:hover{background:var(--accent-light);}
/* ■商品カード（product-card）・購入ボタン（cta-btn） ここまで */

/* ■まとめリスト（summary-list） ここから */
.article-v2 .summary-list{margin:0 0 22px;padding-left:20px;}
.article-v2 .summary-list li{margin-bottom:6px;}
/* ■まとめリスト（summary-list） ここまで */

/* ■よくある質問（faq-item） ここから */
.article-v2 .faq-item{border-bottom:1px solid var(--line);padding:20px 0;}
.article-v2 .faq-item:first-child{border-top:1px solid var(--line);}
.article-v2 .faq-q, .article-v2 .faq-a{display:flex;gap:14px;align-items:flex-start;}
.article-v2 .faq-q{font-weight:500;font-size:14px;letter-spacing:.2px;}
.article-v2 .faq-a{font-size:13px;color:var(--ink-soft);margin-top:10px;}
.article-v2 .faq-icon{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;color:#fff;background:#333;}
.article-v2 .faq-icon.a{background:var(--accent);}
/* ■よくある質問（faq-item） ここまで */

/* ■関連リンク（related） ここから */
.article-v2 .related{display:flex;flex-direction:column;gap:8px;}
.article-v2 .related a{font-size:13px;color:var(--accent);text-decoration:none;}
/* ■関連リンク（related） ここまで */

/* ■最後の購入案内（final-cta） ここから */
.article-v2 .final-cta{text-align:center;margin-top:40px;padding:46px 30px;background:var(--surface-soft);}
.article-v2 .final-cta p{margin:0 0 18px;font-size:13.5px;color:var(--ink-soft);}
/* ■最後の購入案内（final-cta） ここまで */

/* ■記事末クレジット（footer.credit） ここから */
.article-v2 footer.credit{margin-top:48px;padding-top:20px;border-top:1px solid var(--line);font-size:11.5px;color:var(--muted);letter-spacing:.2px;}
/* ■記事末クレジット（footer.credit） ここまで */

/* ■スマホ表示（640px以下） ここから */
@media (max-width:640px){
  .article-v2.wrap{padding:24px 16px 80px;}
  .article-v2 h1{font-size:23px;}
  .article-v2 h2{font-size:19px;}
  .article-v2 .hero-full{max-width:100%;}
  .article-v2 .hook{padding:20px 20px;}
  .article-v2 .pair{grid-template-columns:1fr;}
  .article-v2 .spec-table th{width:34%;}
  .article-v2 .product-card{flex-direction:column;}
  .article-v2 .product-card img{width:100%;height:auto;aspect-ratio:1/1;}
}
/* ■スマホ表示（640px以下） ここまで */

/* ■お客様の声（voice） ここから */
.article-v2 .voice{border:1px solid var(--line);border-radius:12px;padding:22px 24px;margin:0 0 30px;background:var(--bg);}
.article-v2 .voice-label{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--accent-ink);background:var(--accent);padding:4px 12px;border-radius:20px;margin-bottom:10px;}
.article-v2 .voice-title{font-weight:700;font-size:15px;margin:0 0 10px;}
.article-v2 .voice p{font-size:13.5px;margin:0 0 10px;}
.article-v2 .voice p:last-child{margin-bottom:0;}
.article-v2 .voice .quote{color:var(--ink-soft);border-left:2px solid var(--line);padding-left:12px;}
.article-v2 .voice .note{font-size:11.5px;color:var(--muted);}
/* ■お客様の声（voice） ここまで */
