@charset "utf-8";

/* ===== コラム一覧 ===== */
.clm-lead.clm-lead{font-size:14px;line-height:1.8;color:#555;margin:0 0 20px;}
.clm-cat{background:#fff;border:1px solid #ecd3de;border-radius:4px;padding:15px 20px;margin-bottom:40px;}
.clm-cat .clm-cat__label{font-size:13px;color:#555;font-weight:bold;margin-bottom:10px;}
.clm-catlist{display:flex;flex-wrap:nowrap;gap:6px;list-style:none;margin:0;padding:0;}
.clm-catlist li{flex:1 1 auto;min-width:0;}   /* PC：6つのボタンを横一列に、幅いっぱいに並べる */
.clm-cat__note{font-weight:normal;font-size:12px;color:#999;margin-left:4px;}
.clm-cat-btn{display:block;text-decoration:none;padding:7px 6px;font-size:13px;line-height:1.4;text-align:center;white-space:nowrap;background:#d4789c;border:2px solid #d4789c;color:#fff;border-radius:3px;}
.clm-cat-btn:hover{opacity:.8;color:#fff;text-decoration:none;}
.clm-cat-btn{position:relative;}
/* 選択中のマーク（ボタンの右上の丸い✓。✓ を付けるかどうかは一覧ページの <style> で切り替え） */
.clm-cat-btn::after{position:absolute;top:-7px;right:-5px;width:18px;height:18px;line-height:16px;border-radius:50%;background:#fff;border:1px solid #9e3d68;color:#9e3d68;font-size:11px;font-weight:bold;text-align:center;}
/* カテゴリ絞り込み（CSSのみ）
   ・一覧1ページ目のボタンはチェックボックス（.clm-f）＋ label。押すたびにオン・オフ
   ・どのカテゴリで絞り込むか（表示・非表示の切り替え）は、一覧ページの <style> に書き出される
   ・記事ページなどからは /column/#t-カテゴリ のリンクで、そのカテゴリに絞った状態で開く */
label.clm-cat-btn{cursor:pointer;user-select:none;margin:0;font-weight:normal;}
.clm-f{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none;}
.clm-f:focus-visible + .clm-cat-btn{outline:2px solid #9e3d68;outline-offset:2px;}
.clm-t{display:block;position:relative;top:-20px;}
.clm-clear{display:none;margin:12px 0 0;font-size:13px;}
.clm-clear a{color:#9e3d68;}
.clm-empty{display:none;}

/* 記事一覧エリア・記事ページの下の余白（ページ送りや関連記事がなくても、下のバナーと間を空ける） */
.clm-list{margin-bottom:40px;}
.clm-article{margin-bottom:40px;}
.clm-heading{border-left:6px solid #d4789c;padding:6px 18px;font-size:22px;font-weight:bold;margin:40px 0 20px;}

.clm-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none;margin:0;padding:0;}
.clm-card a{display:block;height:100%;background:#fff;border:1px solid #ecd3de;border-radius:4px;overflow:hidden;color:#333;text-decoration:none;}
.clm-card a:hover{opacity:.85;}
.clm-card__thumb{position:relative;aspect-ratio:16/9;background:#f7e9ef;}
.clm-card__thumb img{width:100%;height:100%;object-fit:cover;}
.clm-card__body{padding:10px 12px 12px;}
/* タイトル・説明文は最大2行（はみ出した分は「…」で省略）。カードの高さをそろえ、縦に伸びすぎないようにする */
.clm-card__title{font-size:14px;font-weight:bold;line-height:1.45;margin:0 0 4px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
.clm-card .clm-card__excerpt{font-size:12px;line-height:1.6;color:#666;margin:0 0 6px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
.clm-card .clm-card__date{font-size:11px;line-height:1.5;color:#999;margin:0;}

/* カテゴリラベル */
.clm-label{display:inline-block;padding:2px 8px;font-size:12px;font-weight:bold;line-height:1.6;color:#fff;border-radius:2px;background:#999;}
.clm-card__thumb .clm-label{position:absolute;top:8px;left:8px;}
a.clm-label,a.clm-label:hover{color:#fff;text-decoration:none;}
a.clm-label:hover{opacity:.85;}
.clm-label--kazokusou-guide{background:#b03a5e;}
.clm-label--hiyou{background:#c0782e;}
.clm-label--manner{background:#3f6fa0;}
.clm-label--tetsuzuki{background:#4f7f4f;}
.clm-label--keishiki{background:#7a5a9a;}
.clm-label--area{background:#2f8a8a;}

/* ランキング番号 */
.clm-card__rank{position:absolute;top:0;left:0;width:36px;height:36px;line-height:36px;text-align:center;color:#fff;font-weight:bold;}
.clm-card__rank + .clm-label{left:44px;}
.clm-card__rank--1{background:#c9a100;}
.clm-card__rank--2{background:#999;}
.clm-card__rank--3{background:#a0602f;}

/* 価格バッジ（記事ファイルの price を入れた記事のみ） */
.clm-card__price{position:absolute;top:8px;right:8px;padding:2px 8px;font-size:12px;font-weight:bold;line-height:1.6;color:#fff;background:#c0782e;border-radius:2px;}

/* ページ送り */
.clm-pager{display:flex;justify-content:center;gap:8px;margin:30px 0 0;}
.clm-pager .page-numbers{min-width:40px;text-decoration:none;padding:6px 12px;border:1px solid #d4789c;border-radius:3px;background:#fff;color:#d4789c;text-align:center;}
.clm-pager .current{background:#d4789c;color:#fff;}
.clm-pager .is-disabled{background:#e5d5dc;border-color:#e5d5dc;color:#aaa;}

/* ===== コラム詳細 ===== */
.clm-article__meta{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.clm-article__date{font-size:13px;color:#888;}
.clm-article__title{font-size:26px;line-height:1.5;color:#4a1f3d;margin:0 0 20px;padding-bottom:14px;border-bottom:3px solid #ecd3de;}
.clm-article__thumb{margin-bottom:24px;}
.clm-article__thumb img{display:block;width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;}

/* 本文 */
.clm-content{font-size:15px;line-height:1.9;color:#444;}
.clm-article .clm-content p{color:#444;font-size:15px;line-height:1.9;margin:0 0 1.2em;}
.clm-content h2{font-size:20px;line-height:1.5;color:#333;background:none;border:0;border-left:6px solid #d4789c;padding:6px 18px;margin:45px 0 20px;}
.clm-content h3{font-size:17px;line-height:1.5;color:#6b2c5a;background:none;border:0;border-left:4px solid #d4789c;padding:0 0 0 12px;margin:30px 0 12px;}
.clm-content ul{list-style:disc;padding-left:1.6em;margin:0 0 1.2em;}
.clm-content ol{list-style:decimal;padding-left:1.6em;margin:0 0 1.2em;}
.clm-content li{font-size:15px;margin:4px 0;}
.clm-content a{color:#d4789c;}
.clm-content img{max-width:100%;height:auto;}

/* 表 */
.clm-content figure.wp-block-table{margin:0 0 1.5em;}
.clm-content figure.wp-block-table table{margin:0;}
.clm-content .wp-block-table thead{border-bottom:0;}
.clm-content table{width:100%;border-collapse:collapse;margin:0 0 1.5em;background:#fff;font-size:14px;line-height:1.7;}
.clm-content th,.clm-content td{border:1px solid #ecd3de;padding:12px 14px;text-align:left;vertical-align:middle;}
.clm-content thead th,.clm-content thead td{background:#d4789c;border-color:#c96a8f;color:#fff;font-weight:bold;}
.clm-content tbody td:first-child,.clm-content tbody th{font-weight:bold;}

/* 目次（本文の h2 から自動生成） */
.clm-toc{background:#fff;border:3px solid #ecd3de;border-radius:4px;padding:20px 28px;margin:0 0 35px;}
.clm-article .clm-content .clm-toc__title{font-size:15px;font-weight:bold;color:#6b2c5a;margin:0 0 8px;}
.clm-content .clm-toc ol{margin:0;}
.clm-toc li{font-size:16px;}
.clm-toc a{text-decoration:none;}
.clm-toc a:hover{text-decoration:underline;}

/* 注意ボックス（<div class="clm-note">） */
.clm-content .clm-note{background:#fdf6e3;border:1px solid #e8c87a;border-radius:4px;padding:18px 22px;margin:0 0 1.5em;color:#8a5a1a;font-size:14px;line-height:1.8;}
.clm-article .clm-content .clm-note p{color:#8a5a1a;font-size:14px;line-height:1.8;margin:0 0 .4em;}
.clm-content .clm-note p:first-child{font-weight:bold;}
.clm-content .clm-note p:last-child{margin-bottom:0;}

/* よくある質問（<details><summary>） */
.clm-content details{margin:0 0 12px;}
.clm-content summary{display:block;list-style:none;position:relative;cursor:pointer;padding:16px 50px;background:#fdf0f5;border:1px solid #ecd3de;border-radius:4px;font-weight:bold;color:#6b2c5a;}
.clm-content summary::-webkit-details-marker{display:none;}
.clm-content summary::before{content:"";position:absolute;left:18px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#8fb4f0,#2e5fc4);}
.clm-content summary::after{content:"";position:absolute;right:18px;top:50%;margin-top:-5px;border-left:9px solid transparent;border-right:9px solid transparent;border-top:12px solid #d4789c;}
.clm-content details[open] > summary{border-color:#d4789c;margin-bottom:10px;}
.clm-content details[open] > summary::after{margin-top:-7px;border-top:0;border-bottom:12px solid #d4789c;}
.clm-content details > :not(summary){margin:0;line-height:1.8;padding:0 22px;background:#fff;border:1px solid #ecd3de;border-top:0;border-bottom:0;font-size:14px;color:#666;}
.clm-article .clm-content details p{color:#666;font-size:14px;line-height:1.8;margin:0;}
.clm-content details > summary + *{padding-top:16px;border-top:1px solid #ecd3de;border-radius:4px 4px 0 0;}
.clm-content details > :last-child{padding-bottom:16px;border-bottom:1px solid #ecd3de;border-radius:0 0 4px 4px;}
.clm-content details > summary + :last-child{border-radius:4px;}

/* 前後の記事 */
.clm-postnav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:40px 0;}
.clm-postnav a{display:block;min-width:0;padding:14px 20px;background:#fdf6f9;border:1px solid #ecd3de;border-radius:4px;text-decoration:none;}
.clm-postnav a:hover{opacity:.8;}
.clm-postnav__next{grid-column:2;text-align:right;}
.clm-postnav__label{display:block;font-size:12px;color:#999;}
.clm-postnav__title{display:block;font-size:14px;color:#d4789c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* 関連記事 */
.clm-related{margin-bottom:40px;}

/* =====================================================================
   SP版（画面幅 767px 以下）：コラム一覧
   ===================================================================== */
@media (max-width: 767px) {
  /* リード文（SPでは2文目を省略） */
  .clm-lead.clm-lead{font-size:13px;line-height:1.8;margin-bottom:16px;}
  .clm-lead__sub{display:none;}

  /* カテゴリ（枠なし・ボタンを詰めて並べる） */
  .clm-cat{background:none;border:0;padding:0;margin-bottom:28px;}
  .clm-cat .clm-cat__label{font-size:14px;margin-bottom:8px;}
  .clm-cat__note{display:none;}
  .clm-catlist{flex-wrap:wrap;gap:8px;}
  .clm-catlist li{flex:0 0 auto;}   /* SP：幅が足りないので折り返して2段に */
  .clm-cat-btn{padding:5px 12px;font-size:13px;}

  /* 見出し */
  .clm-heading{font-size:18px;padding:8px 14px;border-left-width:5px;margin:28px 0 14px;background:#fdeef4;}

  /* カード（2列・説明文と更新日なし） */
  .clm-cards{grid-template-columns:repeat(2,1fr);gap:10px;}
  .clm-card__body{padding:8px 10px 10px;}
  .clm-card__title{font-size:13px;line-height:1.5;margin-bottom:4px;}
  .clm-card .clm-card__excerpt{display:none;}
  .clm-card .clm-card__date{font-size:11px;}
  .clm-card__date br,.clm-card__upd{display:none;}
  .clm-label{font-size:10px;padding:1px 6px;}
  .clm-card__thumb .clm-label{top:6px;left:6px;}
  .clm-card__price{top:0;right:0;font-size:10px;font-weight:normal;padding:1px 6px;background:#fff;color:#666;border-radius:0 0 0 4px;}

  /* 人気記事ランキング（横長カード：左に画像と順位、右にラベル・タイトル・日付） */
  .clm-cards--rank{grid-template-columns:1fr;gap:10px;}
  .clm-cards--rank .clm-card a{display:flex;min-height:80px;}
  .clm-cards--rank .clm-card__thumb{flex:0 0 30%;aspect-ratio:auto;position:static;}
  .clm-cards--rank .clm-card__thumb img{position:absolute;top:0;left:0;width:30%;height:100%;}
  .clm-cards--rank .clm-card{position:relative;}
  .clm-cards--rank .clm-card__rank{width:24px;height:24px;line-height:24px;font-size:12px;z-index:1;}
  .clm-cards--rank .clm-card__thumb .clm-label,
  .clm-cards--rank .clm-card__rank + .clm-label{top:10px;left:calc(30% + 10px);}
  .clm-cards--rank .clm-card__price{display:none;}
  .clm-cards--rank .clm-card__body{flex:1;padding:36px 10px 10px;}
  .clm-cards--rank .clm-card__date{display:flex;flex-wrap:wrap;column-gap:8px;}
  .clm-cards--rank .clm-card__upd{display:inline;}
  .clm-cards--rank .clm-card__date span{white-space:nowrap;}

  /* ページ送り */
  .clm-pager{gap:6px;}
  .clm-pager .page-numbers{min-width:34px;padding:5px 9px;font-size:14px;}
}

/* =====================================================================
   SP版（画面幅 767px 以下）：記事ページ
   ===================================================================== */
@media (max-width: 767px) {
  .clm-pc{display:none;}

  /* 記事の上部 */
  .clm-article__meta{gap:8px;flex-wrap:wrap;}
  .clm-article__date{font-size:11px;}
  .clm-article__title{font-size:18px;line-height:1.6;padding-bottom:10px;margin-bottom:14px;}
  .clm-article__thumb{margin-bottom:16px;}
  .clm-article__thumb img{aspect-ratio:16/9;border-radius:4px;}

  /* 本文 */
  .clm-content{font-size:14px;}
  .clm-article .clm-content p{font-size:14px;line-height:1.9;margin-bottom:1em;}
  .clm-content li{font-size:14px;}
  .clm-content h2{font-size:16px;padding:8px 12px;border-left-width:5px;background:#fdeef4;margin:32px 0 14px;}
  .clm-content h3{font-size:14px;border-left-width:3px;padding-left:10px;margin:22px 0 8px;}
  .clm-content ul,.clm-content ol{padding-left:1.4em;}

  /* 目次 */
  .clm-toc{background:#fdf2f6;padding:14px 18px;margin-bottom:24px;}
  .clm-article .clm-content .clm-toc__title{font-size:13px;}
  .clm-toc li{font-size:14px;}

  /* 表：1行ずつカード状に縦並び（1列目をピンクの帯、2列目以降を「見出し：内容」で表示） */
  .clm-content table,.clm-content tbody,.clm-content tr,.clm-content td{display:block;width:100%;}
  .clm-content table{border:1px solid #ecd3de;border-radius:4px;overflow:hidden;font-size:13px;}
  .clm-content thead{display:none;}
  .clm-content tbody tr + tr{border-top:1px solid #ecd3de;}
  .clm-content tbody tr:nth-child(even){background:#fdf6f9;}
  .clm-content tbody td{border:0;padding:3px 12px;}
  .clm-content tbody td:first-child{background:#d4789c;color:#fff;padding:8px 12px;margin-bottom:6px;}
  .clm-content tbody td:last-child{padding-bottom:10px;}
  .clm-content tbody td:not(:first-child)[data-label]::before{content:attr(data-label) "：";font-weight:bold;color:#555;}

  /* 注意ボックス・よくある質問 */
  .clm-content .clm-note{padding:12px 14px;}
  .clm-article .clm-content .clm-note p{font-size:12px;}
  .clm-content summary{padding:12px 36px 12px 38px;font-size:13px;}
  .clm-content summary::before{left:12px;width:14px;height:14px;margin-top:-7px;}
  .clm-content summary::after{right:12px;border-left-width:7px;border-right-width:7px;border-top-width:10px;}
  .clm-content details[open] > summary::after{border-bottom-width:10px;}
  .clm-content details > :not(summary){padding-left:14px;padding-right:14px;}
  .clm-article .clm-content details p{font-size:13px;}

  /* 関連記事（2列なので2件だけ表示） */
  .clm-related .clm-card:nth-child(n+3){display:none;}

  /* 前後の記事（縦に2段・左寄せ） */
  .clm-postnav{grid-template-columns:1fr;gap:10px;margin:28px 0;}
  .clm-postnav__next{grid-column:auto;text-align:left;}
  .clm-postnav a{padding:10px 14px;}
  .clm-postnav__title{font-size:13px;}
  .clm-postnav__label{font-size:11px;}
}
