/* single.css — 記事詳細（担当: single）。値は _design/mobile/モバイル記事詳細_案3a.dc.html と _design/pc/記事詳細ページ_案3a.dc.html の inline style をそのまま。
   モバイルファースト: 〜767 = mobile ／ 768〜 = PC の値（1 カラム）／ 1200〜 = 本文＋300px サイドバーの 2 カラム。
   tokens.css に無い値: 本文の色 #333（デザイン値。--ts-ink-3 の追加を要望中。無ければ fallback で同じ値） */

/* ---------- 読了プログレス（ヘッダー直下 3px。top は single.js がヘッダーの高さから決める） ---------- */
.ts-progress{position:fixed;left:0;right:0;top:0;height:3px;background:var(--ts-line);z-index:60;pointer-events:none}
.ts-progress__bar{height:3px;width:0%;background:var(--ts-green);transition:width .12s linear}

/* ---------- 共通の小物 ---------- */
.ts-single .ts-btn-dark{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ts-ink);color:var(--ts-white);border:0;border-radius:var(--ts-radius-pill);font-family:inherit;font-weight:700;cursor:pointer;text-decoration:none}
.ts-single .ts-btn-dark:hover{color:var(--ts-white);background:var(--ts-promo)}
.ts-share-line{display:inline-block;width:22px;height:22px;flex:none;border-radius:7px;background:var(--ts-line-green)}

/* ---------- パンくず ---------- */
.ts-single-head{background:var(--ts-bg)}
.ts-crumb{display:flex;align-items:center;gap:8px;padding:11px var(--ts-gutter);font-size:11px;letter-spacing:.06em;color:var(--ts-muted);white-space:nowrap}
.ts-crumb__link{color:var(--ts-muted)}
.ts-crumb__here{font-weight:700;color:var(--ts-ink)}

/* ---------- 記事ヘッダー ---------- */
.ts-single-title{padding:2px var(--ts-gutter) 20px}
.ts-single-title__row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}
.ts-chip{display:inline-block;border-radius:var(--ts-radius-pill);padding:6px 13px;font-size:10px;line-height:1.4;text-decoration:none}
.ts-chip--green{background:var(--ts-green);color:var(--ts-white);font-weight:900}
.ts-chip--green:hover{color:var(--ts-white);background:var(--ts-green-deep)}
.ts-chip--white{background:var(--ts-white);border:1px solid var(--ts-line);font-weight:700;color:var(--ts-ink)}
.ts-single-title__meta{font-family:var(--ts-font-mono);font-size:10px;font-weight:400;letter-spacing:0;color:var(--ts-muted)}
.ts-single-title__h1{margin:0;font-size:26px;font-weight:900;line-height:1.65;letter-spacing:.01em;text-wrap:pretty}
.ts-single-title__lead{margin:16px 0 0;font-size:14px;line-height:2;letter-spacing:.03em;color:var(--ts-ink-2);text-wrap:pretty}

/* ---------- アイキャッチ ---------- */
.ts-single-eyecatch{margin:0;padding:0 var(--ts-gutter) 22px}
.ts-single-eyecatch__img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px 60px 20px 20px / 24px 80px 20px 20px;background:var(--ts-line)}
.ts-single-eyecatch--placeholder .ts-single-eyecatch__img{object-fit:contain;background:var(--ts-white)}
.ts-single-eyecatch__cap{margin:8px 2px 0;font-family:var(--ts-font-mono);font-size:10px;line-height:1.8;color:var(--ts-muted)}

/* ---------- 本文の白い箱 ---------- */
.ts-single-body{background:var(--ts-white);border-radius:40px 40px 0 0;padding:28px var(--ts-gutter) 34px}
.ts-single-body__inner{display:block}
.ts-single-main{min-width:0}
.ts-single .ts-ad{margin:0 0 26px}
.ts-single .ts-ad__label{margin-bottom:7px}
.ts-single .ts-ad--article-bottom{margin:28px 0 0}
.ts-single .ts-ad--in-article{margin:0 0 28px}

/* ---------- 採点表 ---------- */
.ts-score{background:var(--ts-bg);border-radius:22px;padding:20px 16px;margin-bottom:30px}
.ts-score__head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:14px}
.ts-score__brand{display:flex;flex-direction:column;font-family:var(--ts-font-num);font-style:italic;font-weight:900;font-size:22px;line-height:1}
.ts-score__sub{margin-top:4px;font-family:var(--ts-font-ja);font-style:normal;font-size:11px;font-weight:700;line-height:1.4}
.ts-score__total{display:flex;align-items:baseline;gap:6px}
.ts-score__num{font-family:var(--ts-font-num);font-style:italic;font-weight:900;font-size:34px;line-height:1;color:var(--ts-green)}
.ts-score__den{font-size:11px;font-weight:700;color:var(--ts-muted)}
.ts-score__rows{display:flex;flex-direction:column;gap:2px;margin:0}
.ts-score__row{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:10px;border-top:1px solid var(--ts-line);padding:12px 0}
.ts-score__row:last-child{border-bottom:1px solid var(--ts-line)}
.ts-score__label{font-size:14px;font-weight:900;line-height:1.5}
.ts-score__dots{display:flex;gap:4px;margin:0}
.ts-score__dot{width:13px;height:13px;border-radius:50%;background:var(--ts-line-dash-2)}
.ts-score__dot.is-on{background:var(--ts-green)}
.ts-score__note{grid-column:1 / -1;margin:7px 0 0;font-size:12px;line-height:1.85;color:var(--ts-ink-2)}

/* ---------- 目次（開閉式） ---------- */
.ts-toc{border:2px solid var(--ts-ink);border-radius:18px;overflow:hidden;margin:0 0 30px}
.ts-toc__head{width:100%;box-sizing:border-box;display:flex;align-items:center;gap:10px;background:var(--ts-ink);color:var(--ts-white);border:0;padding:14px 16px;min-height:52px;font-family:inherit;font-size:14px;font-weight:900;cursor:pointer;text-align:left}
.ts-toc__brand{font-family:var(--ts-font-num);font-style:italic;font-weight:900;font-size:17px;line-height:1.2}
.ts-toc__sub{flex:1;font-size:12px;font-weight:700;color:var(--ts-footer-text)}
.ts-toc__mark{font-size:13px}
.ts-toc__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;background:var(--ts-white)}
.ts-toc__list[hidden]{display:none}
.ts-toc__item{border-bottom:1px solid var(--ts-line-pale)}
.ts-toc__item:last-child{border-bottom:0}
.ts-toc__link{display:flex;gap:12px;align-items:baseline;text-decoration:none;padding:15px 16px;font-size:14px;font-weight:900;line-height:1.6;color:var(--ts-ink)}
.ts-toc__num{font-family:var(--ts-font-num);font-style:italic;font-weight:900;color:var(--ts-green);flex:none}
.ts-toc__item--h3 .ts-toc__link{padding:10px 16px 10px 46px;font-size:13px;font-weight:700;color:var(--ts-ink-2)}
.ts-toc__item--h3 .ts-toc__link::before{content:"–";color:var(--ts-green);margin-right:6px}

/* ---------- 本文 ---------- */
.ts-content{font-size:15px;line-height:2.1;letter-spacing:.03em;color:var(--ts-ink-3,#333333);overflow-wrap:anywhere}
.ts-content>*:first-child{margin-top:0}
.ts-content p{margin:0 0 22px;font-size:15px;line-height:2.1;letter-spacing:.03em;text-wrap:pretty}
.ts-content a{color:var(--ts-green-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.ts-content a:hover{color:var(--ts-green)}
.ts-content strong,.ts-content b{font-weight:900}
.ts-content .em-strong{color:var(--ts-red);font-weight:700}
.ts-content .em-marker{background:var(--ts-marker);font-weight:700}
.ts-content .em-underline{text-decoration:underline;text-decoration-color:var(--ts-red);text-decoration-thickness:2px;text-underline-offset:3px;font-weight:700}
.ts-content .ts-h2{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-size:20px;font-weight:900;letter-spacing:.02em;line-height:1.55;padding:14px 16px;background:var(--ts-bg);border-left:8px solid var(--ts-green);border-radius:0 12px 12px 0;scroll-margin-top:130px;color:var(--ts-ink)}
.ts-content .ts-h2:not(:first-child){margin-top:36px}
.ts-h2__num{font-family:var(--ts-font-num);font-style:italic;font-weight:900;font-size:17px;color:var(--ts-green);flex:none}
.ts-h2__text{min-width:0}
.ts-content .ts-h3{display:flex;align-items:center;gap:10px;margin:28px 0 14px;font-size:17px;font-weight:900;line-height:1.6;padding-bottom:10px;border-bottom:2px solid var(--ts-line);scroll-margin-top:130px;color:var(--ts-ink)}
.ts-h3__bar{width:5px;height:20px;flex:none;border-radius:3px;background:var(--ts-green)}
.ts-h3__text{min-width:0}
.ts-content h4{display:flex;align-items:center;gap:9px;margin:24px 0 12px;font-size:15px;font-weight:900;line-height:1.6;color:var(--ts-ink)}
.ts-content h4::before{content:"";width:12px;height:12px;flex:none;background:var(--ts-yellow);border-radius:3px;transform:rotate(45deg)}
.ts-content h5{margin:20px 0 10px;font-size:13px;font-weight:900;letter-spacing:.14em;color:var(--ts-green)}
.ts-content h6{margin:20px 0 10px;font-size:13px;font-weight:900;color:var(--ts-ink)}
.ts-content ul,.ts-content ol{margin:0 0 22px;padding-left:1.5em}
.ts-content li{margin:0 0 6px}
.ts-content li>ul,.ts-content li>ol{margin:6px 0 0}
.ts-content img{max-width:100%;height:auto}
.ts-content img.ts-pixel{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.ts-content figure{margin:0 0 30px}
.ts-content figure.section-image,.ts-content .wp-block-image,.ts-content .wp-caption{margin:0 0 30px;text-align:center}
.ts-content .wp-caption,.ts-content figure[style*="width"]{width:auto!important;max-width:100%}
.ts-content [style*="width"]:not(img){max-width:100%}
.ts-content figure.section-image img,.ts-content .wp-caption img,.ts-content p>img{display:block;width:100%;max-width:100%;height:auto;border-radius:14px;margin:0 auto}
.ts-content figcaption,.ts-content .wp-caption-text{margin:8px 0 0;font-family:var(--ts-font-mono);font-size:10px;line-height:1.8;color:var(--ts-muted);text-align:left}
.ts-content blockquote{margin:0 0 22px;padding:14px 18px;border-left:4px solid var(--ts-line-dash);background:var(--ts-bg);border-radius:0 12px 12px 0;color:var(--ts-ink-2)}
.ts-content hr{border:0;border-top:2px dashed var(--ts-line);margin:30px 0}
.ts-content iframe,.ts-content video{max-width:100%}
.ts-content .wp-embed-responsive .wp-block-embed__wrapper{position:relative}
.ts-content pre,.ts-content code{font-family:var(--ts-font-mono);font-size:13px}
.ts-content pre{overflow-x:auto;padding:14px 16px;background:var(--ts-bg);border-radius:12px}
/* 表: 横スクロールで包む（inc/08-single.php が .ts-table-wrap で包む） */
.ts-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 22px;border-radius:12px;border:1px solid var(--ts-line);background:var(--ts-white)}
.ts-table-wrap table{border-collapse:collapse;width:100%;min-width:480px;margin:0;font-size:13px;line-height:1.7}
.ts-table-wrap th,.ts-table-wrap td{border:1px solid var(--ts-line-pale);padding:10px 12px;text-align:left;vertical-align:top}
.ts-table-wrap th{background:var(--ts-bg);font-weight:900;white-space:nowrap}
.ts-table-wrap tr:nth-child(even) td{background:var(--ts-yellow-palest)}
/* 既存記事のブロック（Cocoon 子テーマの class をトークンで置き換える） */
.ts-content .point-box{background:var(--ts-bg);border-left:8px solid var(--ts-green);border-radius:0 12px 12px 0;padding:15px 16px;margin:0 0 24px;font-size:14px;line-height:1.9;letter-spacing:.02em}
.ts-content .point-box>strong{display:block;margin-bottom:6px;font-size:15px}
.ts-content .point-box p,.ts-content .point-box ul,.ts-content .point-box ol{margin:0;font-size:14px;line-height:1.9}
.ts-content .point-box li{margin:0 0 4px}
.ts-content .comparison-cards{display:flex;flex-direction:column;gap:12px;margin:0 0 24px}
.ts-content .comparison-cards .card,.ts-content .comparison-card{background:var(--ts-bg);border-radius:14px;padding:15px 16px;font-size:14px;line-height:1.9}
.ts-content .comparison-cards .card h3,.ts-content .comparison-cards .card .ts-h3{margin:0 0 6px;padding:0;border:0;font-size:15px}
.ts-content .comparison-cards .card h3 .ts-h3__bar{display:none}
.ts-content .comparison-cards .card p{margin:0;font-size:14px;line-height:1.9}
.ts-content .comparison-card .card-size{font-size:2em;font-weight:900;line-height:1.1}
.ts-content .affiliate-slot{border:2px dashed var(--ts-line);background:var(--ts-white);border-radius:16px;padding:16px 18px;margin:0 0 28px;font-size:13px;line-height:1.9;text-align:center}
.ts-content .affiliate-slot img{display:inline-block;width:auto;max-width:100%}
.ts-content p.disclosure{font-size:12px;line-height:2;letter-spacing:.02em;color:var(--ts-ink-2);background:var(--ts-white);border:2px dashed var(--ts-line);border-radius:16px;padding:12px 18px;margin:0 0 24px}
.ts-content .author-note{background:var(--ts-yellow-palest);border-radius:14px;padding:15px 16px;margin:0 0 24px;font-size:14px;line-height:1.9}
.ts-content .g-ytsubscribe:empty{display:none}
.ts-content .hero-image-wrap{position:relative;overflow:hidden;border-radius:14px;margin:0 0 30px}
.ts-content .hero-image-wrap img{display:block;width:100%;height:auto}
.ts-content .steps-figure{display:flex;align-items:center;flex-wrap:wrap;gap:8px;background:var(--ts-bg);border-radius:14px;padding:15px 16px;margin:0 0 24px;font-size:13px}
.ts-content .list-design,.ts-content .fun-list{list-style:none;padding-left:0}
.ts-content .list-design li,.ts-content .fun-list li{position:relative;padding-left:1.4em}
.ts-content .list-design li::before,.ts-content .fun-list li::before{content:"✓";position:absolute;left:0;color:var(--ts-green);font-weight:900}
.ts-content .wave2-related-articles{display:none}

/* ---------- 現場メモ（罫線ノート風） ---------- */
.ts-memo{position:relative;background:var(--ts-memo-bg);border:1px solid var(--ts-memo-border);border-radius:4px;padding:22px 18px 20px 42px;margin:0 0 28px;box-shadow:0 8px 20px rgba(0,0,0,.07);background-image:repeating-linear-gradient(var(--ts-memo-bg) 0 28px,var(--ts-memo-rule) 28px 29px);transform:rotate(-.6deg)}
.ts-memo__redline{position:absolute;left:28px;top:0;bottom:0;width:2px;background:var(--ts-memo-red)}
.ts-memo__rings{position:absolute;left:-10px;top:18px;display:flex;flex-direction:column;gap:18px}
.ts-memo__rings span{width:22px;height:10px;border-radius:var(--ts-radius-pill);background:var(--ts-line-dash-2);box-shadow:inset 0 -2px 0 rgba(0,0,0,.12)}
.ts-memo__rings span:nth-child(3){display:none}
.ts-memo__title{font-size:15px;font-weight:900;letter-spacing:.05em;margin-bottom:8px}
.ts-memo__body p{margin:0;font-size:14px;line-height:29px;letter-spacing:.03em;color:var(--ts-ink)}
.ts-memo__body strong{color:var(--ts-red)}

/* ---------- 著者 ---------- */
.ts-author{background:var(--ts-bg);border-radius:22px;padding:22px 18px;text-align:center;margin-top:28px}
.ts-author__photo{width:110px;height:110px;margin:0 auto;border-radius:46% 54% 52% 48% / 50% 44% 56% 50%;overflow:hidden;background:var(--ts-white)}
.ts-author__photo img{display:block;width:100%;height:100%;object-fit:cover}
.ts-author__name{margin-top:12px;font-size:15px;font-weight:900;letter-spacing:.03em}
.ts-author__bio{margin:8px 0 14px;font-size:12.5px;line-height:1.95;color:var(--ts-ink-2)}
.ts-author__link{padding:13px 26px;font-size:13px}

/* ---------- 前後の記事・タグ ---------- */
.ts-single-after{background:var(--ts-white);padding:0 var(--ts-gutter) 32px}
.ts-adjacent{display:flex;flex-direction:column;gap:12px}
.ts-adjacent__item{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center;text-decoration:none;background:var(--ts-bg);border-radius:18px;padding:16px 18px;color:var(--ts-ink)}
.ts-adjacent__item--next{grid-template-columns:1fr 40px;text-align:right}
.ts-adjacent__item:hover{background:var(--ts-green-pale);color:var(--ts-ink)}
.ts-adjacent__arrow{width:40px;height:40px;border-radius:50%;background:var(--ts-white);display:flex;align-items:center;justify-content:center;font-size:16px}
.ts-adjacent__text{min-width:0}
.ts-adjacent__label{display:block;font-family:var(--ts-font-mono);font-size:9px;letter-spacing:.1em;color:var(--ts-muted);margin-bottom:5px}
.ts-adjacent__title{display:block;font-size:14px;font-weight:900;line-height:1.7;color:var(--ts-ink)}
.ts-single-tags{margin-top:24px}
.ts-single-tags__label{font-size:12px;font-weight:900;letter-spacing:.04em;margin-bottom:10px}
.ts-single-tags__list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.ts-single-tags__chip{text-decoration:none;background:var(--ts-bg);border-radius:var(--ts-radius-pill);padding:11px 18px;font-size:12px;font-weight:700;color:var(--ts-ink)}
.ts-single-tags__chip:hover{background:var(--ts-green-pale);color:var(--ts-ink)}
.ts-single-tags__more{display:flex;width:100%;padding:10px;min-height:56px;font-size:14px}

/* ---------- 関連記事 ---------- */
.ts-single-related{background:var(--ts-bg);border-radius:40px 40px 0 0;margin-top:-16px;padding:30px 0 34px}
.ts-single-related__head{display:flex;align-items:baseline;gap:10px;padding:0 var(--ts-gutter);margin-bottom:14px}
.ts-single-related__brand{font-family:var(--ts-font-num);font-style:italic;font-weight:900;font-size:28px;line-height:1}
.ts-single-related__sub{font-size:12px;font-weight:700}
.ts-single-related__rail{display:flex;gap:12px;padding:2px var(--ts-gutter) 8px;scroll-snap-type:x proximity}
.ts-single-related .ts-card,.ts-single-related .ts-card--polaroid{flex:none;width:230px;background:var(--ts-white);border:0;border-radius:18px;padding:0;box-shadow:none;overflow:hidden;scroll-snap-align:center;transform:none;transition:transform .25s}
.ts-single-related .ts-card--polaroid .ts-card__thumb{border-radius:0}
.ts-single-related .ts-card--polaroid .ts-card__body{margin-top:0}
.ts-single-related .ts-card--polaroid .ts-card__meta{margin-top:0}
.ts-single-related .ts-card__link{display:block;text-decoration:none;color:var(--ts-ink)}
.ts-single-related .ts-card__tape,.ts-single-related .ts-card__cat,.ts-single-related .ts-card__read{display:none}
.ts-single-related .ts-card__thumb{display:block;height:140px;background:var(--ts-line-pale)}
.ts-single-related .ts-card__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.ts-single-related .ts-card__body{display:block;padding:12px 14px 16px}
.ts-single-related .ts-card__meta{display:block;font-family:var(--ts-font-mono);font-size:10px;color:var(--ts-muted)}
.ts-single-related .ts-card__title{display:block;margin-top:6px;font-size:13px;font-weight:900;line-height:1.75}
.ts-single-related .ts-card__body{display:flex;flex-direction:column}
.ts-single-related .ts-card__meta{order:-1}

/* ---------- サイドバー（〜1199px では本文の下に 1 列で並ぶ） ---------- */
.ts-sidebar-single{display:none}
.ts-sidebar-single .ts-ad{margin:0}
.ts-sidebar-single .ts-ad__label{letter-spacing:.12em;margin-bottom:8px}
.ts-sb-toc{background:var(--ts-bg);border-radius:20px;padding:26px 24px}
.ts-sb-toc__brand{font-family:var(--ts-font-num);font-style:italic;font-weight:900;font-size:20px;margin-bottom:16px}
.ts-sb-toc__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:13px;line-height:1.7}
.ts-sb-toc__link{text-decoration:none;color:var(--ts-ink);font-weight:500}
.ts-sb-toc__link.is-active{font-weight:900;color:var(--ts-green-text)}
.ts-sb-share{background:var(--ts-white);border:1px solid var(--ts-line-pale);border-radius:20px;padding:26px 24px}
.ts-sb-share__title{font-size:13px;font-weight:900;letter-spacing:.05em;margin-bottom:16px}
.ts-sb-share__row{display:flex;gap:10px}
.ts-sb-share__btn{width:44px;height:44px;border-radius:50%;background:var(--ts-bg);border:0;padding:0;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ts-ink);font-size:17px;cursor:pointer}
.ts-sb-share__btn:hover{background:var(--ts-green-pale);color:var(--ts-ink)}
.ts-sb-share__done{margin-top:10px;font-size:12px;font-weight:700;color:var(--ts-green-text)}
.ts-sb-request{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;background:var(--ts-yellow);color:var(--ts-ink);border-radius:20px;padding:32px 24px 30px}
.ts-sb-request:hover{filter:brightness(1.04);color:var(--ts-ink)}
.ts-sb-request__icon{display:block;width:88px;height:88px;margin-bottom:14px;color:var(--ts-on-yellow)}
.ts-sb-request__icon svg{display:block;width:88px;height:88px}
.ts-sb-request__title{font-size:21px;font-weight:900;letter-spacing:.04em}
.ts-sb-request__lead{margin-top:10px;font-size:15px;line-height:1.8;font-weight:700}

/* ---------- 右下の浮遊ボタン（モバイル・README D案） ---------- */
.ts-fab{position:fixed;left:0;right:0;bottom:calc(var(--ts-tabbar-h) - 6px);z-index:44;display:flex;justify-content:center;pointer-events:none;transition:transform .2s var(--ts-ease),opacity .2s var(--ts-ease)}
.ts-fab.is-hidden{transform:translateY(150%);opacity:0}
.ts-fab__inner{box-sizing:border-box;width:100%;max-width:var(--ts-mobile-max);padding:0 var(--ts-gutter);display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.ts-fab__menu{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.ts-fab__menu[hidden]{display:none}
.ts-fab__pill{pointer-events:auto;height:44px;padding:0 20px;border-radius:var(--ts-radius-pill);border:0;font-size:12px;font-weight:900;font-family:inherit;cursor:pointer;box-shadow:var(--ts-shadow-float)}
.ts-fab__pill--toc{background:var(--ts-ink);color:var(--ts-white)}
.ts-fab__pill--share{background:var(--ts-yellow);color:var(--ts-ink)}
.ts-fab__btn{pointer-events:auto;width:46px;height:46px;border-radius:50%;background:var(--ts-ink);color:var(--ts-white);border:0;display:flex;align-items:center;justify-content:center;font-size:17px;font-family:inherit;cursor:pointer;box-shadow:var(--ts-shadow-float);padding:0}
.ts-fab__btn:hover{color:var(--ts-white)}

/* ---------- 下から出るシート（目次・共有） ---------- */
@keyframes ts-sheet-up{from{transform:translateY(100%)}to{transform:translateY(0)}}
.ts-sheet{position:fixed;inset:0;z-index:55;display:flex;justify-content:center;align-items:flex-end}
.ts-sheet[hidden]{display:none}
.ts-sheet__backdrop{position:absolute;inset:0;border:0;background:rgba(34,34,34,.5);cursor:pointer;padding:0}
.ts-sheet__panel{position:relative;box-sizing:border-box;width:100%;max-width:var(--ts-mobile-max);max-height:85vh;overflow-y:auto;background:var(--ts-bg);border-radius:28px 28px 0 0;padding:10px var(--ts-gutter) 22px;animation:ts-sheet-up .22s ease-out}
.ts-sheet__grip{display:block;width:44px;height:4px;border-radius:var(--ts-radius-pill);background:var(--ts-line-dash-2);margin:0 auto 14px}
.ts-sheet__head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.ts-sheet__brand{font-family:var(--ts-font-num);font-style:italic;font-weight:900;font-size:22px;line-height:1}
.ts-sheet__sub{font-size:11px;font-weight:700;color:var(--ts-muted)}
.ts-sheet__toc{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;background:var(--ts-white);border-radius:16px;overflow:hidden}
.ts-sheet__toc li{border-bottom:1px solid var(--ts-line-pale)}
.ts-sheet__toc li:last-child{border-bottom:0}
.ts-sheet__toc-link{display:flex;gap:12px;align-items:baseline;text-decoration:none;padding:16px;font-size:15px;font-weight:900;line-height:1.6;color:var(--ts-ink)}
.ts-sheet__toc-num{font-family:var(--ts-font-num);font-style:italic;color:var(--ts-green)}
.ts-sheet__title{font-size:15px;font-weight:900;letter-spacing:.03em;margin-bottom:14px}
.ts-sheet__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.ts-sheet__share{box-sizing:border-box;display:flex;align-items:center;gap:10px;text-decoration:none;background:var(--ts-white);border:0;border-radius:16px;padding:16px;min-height:56px;font-family:inherit;font-size:13px;font-weight:900;color:var(--ts-ink);cursor:pointer;text-align:left}
.ts-sheet__share svg{flex:none}
.ts-sheet__share-ico{font-size:17px;width:22px;flex:none}
.ts-sheet__close{width:100%;padding:10px;min-height:56px;font-size:14px;font-weight:900}

/* =================== 768px〜: PC の値（1 カラム） =================== */
@media (min-width:768px){
	.ts-crumb{gap:12px;padding:20px var(--ts-gutter-pc) 0;font-size:12px;letter-spacing:.08em;margin-bottom:24px}
	.ts-single-title{padding:0 var(--ts-gutter-pc) 0;max-width:calc(940px + var(--ts-gutter-pc) * 2);box-sizing:border-box}
	.ts-single-title__row{gap:12px;margin-bottom:20px}
	.ts-chip{padding:7px 16px;font-size:11px}
	.ts-single-title__meta{font-size:11px}
	.ts-single-title__h1{font-size:46px;line-height:1.5;letter-spacing:.02em}
	.ts-single-title__lead{margin-top:24px;font-size:18px;line-height:2.1;letter-spacing:.05em}
	.ts-single-eyecatch{padding:40px var(--ts-gutter-pc) 60px}
	.ts-single-eyecatch__img{aspect-ratio:16/9;border-radius:28px}
	.ts-single-eyecatch__cap{font-size:11px}
	.ts-single-body{border-radius:50% 50% 0 0 / 80px 56px 0 0;padding:80px 0 88px}
	.ts-single-body__inner{max-width:1160px;margin:0 auto;padding:0 40px;box-sizing:border-box}
	.ts-single .ts-ad{margin:0 0 40px}
	.ts-single .ts-ad__label{letter-spacing:.12em;margin-bottom:8px}
	.ts-single .ts-ad--in-article{margin:48px 0}
	.ts-single .ts-ad--article-bottom{margin:48px 0 0}
	.ts-score{padding:34px 36px;margin-bottom:52px}
	.ts-score__head{align-items:baseline;gap:16px;margin-bottom:24px}
	.ts-score__brand{flex-direction:row;align-items:baseline;gap:16px;font-size:26px}
	.ts-score__sub{margin-top:0;font-size:13px;letter-spacing:.04em}
	.ts-score__total{margin-left:auto;gap:8px}
	.ts-score__num{font-size:40px}
	.ts-score__den{font-size:12px}
	.ts-score__rows{gap:0}
	.ts-score__row{grid-template-columns:120px 150px 1fr;column-gap:20px;padding:16px 0}
	.ts-score__label{font-size:15px}
	.ts-score__dots{gap:5px}
	.ts-score__dot{width:16px;height:16px}
	.ts-score__note{grid-column:auto;margin:0;font-size:15px;line-height:1.95}
	.ts-toc{margin-bottom:40px}
	.ts-content,.ts-content p{font-size:18px;line-height:2.15;letter-spacing:.05em}
	.ts-content p{margin:0 0 30px}
	.ts-content .ts-h2{gap:16px;margin:0 0 24px;font-size:30px;letter-spacing:.03em;line-height:1.5;padding:18px 24px;border-left-width:10px;border-radius:0 14px 14px 0;scroll-margin-top:40px}
	.ts-content .ts-h2:not(:first-child){margin-top:48px}
	.ts-h2__num{font-size:22px}
	.ts-content .ts-h3{gap:12px;margin:36px 0 18px;font-size:24px;letter-spacing:.03em;padding-bottom:12px;scroll-margin-top:40px}
	.ts-h3__bar{width:6px;height:24px}
	.ts-content h4{gap:10px;margin:30px 0 14px;font-size:20px;letter-spacing:.03em}
	.ts-content h4::before{width:14px;height:14px}
	.ts-content h5{font-size:14px}
	.ts-content ul,.ts-content ol{margin-bottom:30px}
	.ts-content figure,.ts-content figure.section-image,.ts-content .wp-block-image{margin-bottom:40px}
	.ts-content figure.section-image img,.ts-content .wp-caption img,.ts-content p>img{border-radius:16px}
	.ts-content figcaption,.ts-content .wp-caption-text{font-size:11px}
	.ts-table-wrap{margin-bottom:30px}
	.ts-table-wrap table{font-size:15px}
	.ts-table-wrap th,.ts-table-wrap td{padding:12px 16px}
	.ts-content .point-box{padding:18px 22px;margin-bottom:36px;font-size:17px;line-height:1.95;letter-spacing:.04em}
	.ts-content .point-box>strong{font-size:18px}
	.ts-content .point-box p,.ts-content .point-box ul,.ts-content .point-box ol{font-size:17px;line-height:1.95}
	.ts-content .comparison-cards{flex-direction:row;flex-wrap:wrap;gap:14px;margin-bottom:36px}
	.ts-content .comparison-cards .card,.ts-content .comparison-card{flex:1 1 220px;padding:18px 22px;font-size:17px;line-height:1.95}
	.ts-content .comparison-cards .card h3{font-size:18px}
	.ts-content .comparison-cards .card p{font-size:17px;line-height:1.95}
	.ts-content .affiliate-slot,.ts-content p.disclosure{padding:24px 28px;margin-bottom:48px;font-size:15px;line-height:2.05;letter-spacing:.04em}
	.ts-memo{padding:30px 34px 28px 70px;margin:0 0 36px;background-image:repeating-linear-gradient(var(--ts-memo-bg) 0 31px,var(--ts-memo-rule) 31px 32px);transform:rotate(-.5deg)}
	.ts-memo__redline{left:46px}
	.ts-memo__rings{left:-14px;top:22px;gap:22px}
	.ts-memo__rings span{width:28px;height:12px}
	.ts-memo__rings span:nth-child(3){display:block}
	.ts-memo__title{font-size:19px;letter-spacing:.06em;margin-bottom:12px}
	.ts-memo__body p{font-size:17px;line-height:32px;letter-spacing:.04em}
	.ts-author{display:flex;align-items:center;gap:20px;padding:28px 32px;text-align:left;margin-top:48px}
	.ts-author__photo{width:96px;height:96px;flex:none;margin:0}
	.ts-author__text{flex:1}
	.ts-author__name{margin-top:0;font-size:16px}
	.ts-author__bio{margin:8px 0 0;font-size:15px}
	.ts-author__link{padding:12px 26px;white-space:nowrap}
	.ts-single-after{padding:0 0 76px}
	.ts-single-after__inner{max-width:1160px;margin:0 auto;padding:0 40px;box-sizing:border-box}
	.ts-adjacent{display:grid;grid-template-columns:1fr 1fr;gap:24px}
	.ts-adjacent__item{grid-template-columns:44px 1fr;gap:18px;padding:22px 26px}
	.ts-adjacent__item--next{grid-template-columns:1fr 44px}
	.ts-adjacent__arrow{width:44px;height:44px;font-size:17px}
	.ts-adjacent__label{font-size:10px;margin-bottom:6px}
	.ts-adjacent__title{font-size:16px}
	.ts-single-tags{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:34px}
	.ts-single-tags__label{font-size:13px;margin-bottom:0}
	.ts-single-tags__list{display:contents}
	.ts-single-tags__chip{padding:10px 20px;font-size:13px}
	.ts-single-tags__more{display:inline-flex;width:auto;margin-left:auto;padding:12px 26px;min-height:0;font-size:13px}
	.ts-single-related{border-radius:46% 54% 0 0 / 64px 100px 0 0;margin-top:0;padding:80px 0 88px}
	.ts-single-related__inner{max-width:1240px;margin:0 auto;padding:0 40px;box-sizing:border-box}
	.ts-single-related__head{gap:20px;padding:0;margin-bottom:34px}
	.ts-single-related__brand{font-size:48px}
	.ts-single-related__sub{font-size:15px}
	.ts-single-related__rail{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:0;overflow:visible}
	.ts-single-related .ts-card{width:auto}
	.ts-single-related .ts-card:hover{transform:translateY(-8px)}
	.ts-single-related .ts-card__thumb{height:180px}
	.ts-single-related .ts-card__body{padding:20px 22px 24px}
	.ts-single-related .ts-card__title{margin-top:8px;font-size:15px;line-height:1.8}
	.ts-progress{display:none}
}

/* =================== 1200px〜: 本文＋300px サイドバー =================== */
@media (min-width:1200px){
	.ts-single-body__inner{display:grid;grid-template-columns:1fr 300px;gap:56px;align-items:start}
	.ts-sidebar-single{position:sticky;top:24px;display:flex;flex-direction:column;align-items:stretch;gap:26px;margin-top:0;max-height:calc(100vh - 48px);overflow-y:auto;scrollbar-width:none}
	.ts-sidebar-single::-webkit-scrollbar{display:none}
	.ts-sidebar-single .ts-ad{margin:0}
	.ts-fab,.ts-sheet{display:none}
}
