@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ============================================================
   臨床ブロガー 独自スタイル v02 (2026-07-31)
   デザイン案v03/v04の設計をSWELLへ反映
   見出し系はSWELL本体と同じ除外条件を付け、記事一覧タイトルに
   波及しないようにしている
   ============================================================ */

:root{
  --dk-key:#0b4f5f;      /* メイン：深い青緑 */
  --dk-key-l:#e8f1f3;
  --dk-accent:#b0722f;   /* 小見出し・引用の銅色 */
  --dk-line:#e2e7ea;
  --dk-sub:#69757e;
}

/* --- 使わない部品（先頭に運営者帯を置く設計のため） --- */
#mainVisual,
.p-mainVisual,
.p-postSlider{ display:none !important; }

/* --- 本文の組版：長文を読ませる --- */
.post_content{ line-height:2.0; letter-spacing:.01em; }
.post_content > p{ margin-bottom:1.6em; }

/* --- 見出し --- */
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){
  font-size:1.35em; line-height:1.5; font-weight:700;
  padding:0 0 .5em !important; margin:2.6em 0 1em;
  border-bottom:2px solid var(--dk-key);
  border-top:none; border-left:none;
  background:none !important; color:inherit !important;
}
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before{ display:none !important; }
.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){
  font-size:1.15em; line-height:1.55; font-weight:700;
  padding:0 0 0 .7em !important; margin:2em 0 .9em;
  border-left:3px solid var(--dk-accent);
  border-bottom:none; background:none;
}
.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before{ display:none !important; }
.post_content h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){
  font-size:1.05em; font-weight:700; margin:1.8em 0 .7em;
}

/* --- 表：1列目をグレーに、縞は入れない --- */
.post_content table{ font-size:.95em; }
.post_content table th{
  background:#f3f7f8; color:var(--dk-key); font-weight:700;
}
.post_content table td{ background:#fff; }

/* --- 引用（参照した研究） --- */
.post_content blockquote{
  background:#fafbfc; border-left:3px solid var(--dk-accent);
  padding:1em 1.2em; color:var(--dk-sub); font-size:.95em;
}

/* --- マーカーは1色に絞る --- */
.post_content .swl-marker{
  background:linear-gradient(transparent 62%, #cfe6ea 62%);
}

/* --- 本文内リンクは下線で明示。カード類は対象外 --- */
.post_content > p a,
.post_content > ul a,
.post_content > ol a{
  text-decoration:underline; text-underline-offset:.15em;
}
.post_content .p-postList a,
.post_content .p-postLink a,
.post_content .dk-lab a,
.post_content .wp-block-button a{ text-decoration:none !important; }

/* --- 記事一覧 --- */
.p-postList__title{ line-height:1.6; }
.p-postList__meta{ color:#93a0a8; }
.p-postList.-type-big .p-postList__excerpt{ display:none; }

/* ============================================================
   トップページ（固定ページID126）
   ============================================================ */

.dk-hero{
  background:var(--dk-key-l); border-radius:8px;
  padding:22px 20px; margin-bottom:8px;
}
.dk-hero__lead{
  font-size:1.15em; font-weight:700; line-height:1.6;
  color:var(--dk-key); margin:0 0 .6em !important;
}
.dk-hero__body{
  font-size:.9em; line-height:1.9; color:#4d6871; margin:0 !important;
}

.dk-sechd{ margin:2.4em 0 1em; }
.dk-sechd h2{
  font-size:1.2em !important; font-weight:700; margin:0 !important;
  padding:0 0 0 .6em !important;
  border-left:4px solid var(--dk-key) !important;
  border-bottom:none !important; background:none !important;
  color:inherit !important;
}
.dk-sechd h2::before{ display:none !important; }
.dk-sechd__sub{
  font-size:.78em; color:var(--dk-sub); margin:.4em 0 0 !important; padding-left:.9em;
}

.dk-divider{ display:flex; align-items:center; gap:12px; margin:1.6em 0 1em; }
.dk-divider p{ font-size:.8em; color:var(--dk-sub); margin:0 !important; white-space:nowrap; }
.dk-divider::before,
.dk-divider::after{ content:""; flex:1; height:1px; background:var(--dk-line); }

.dk-morebtn{ margin-top:1.2em; }

/* --- よくある質問 --- */
.dk-faq{ border-top:1px solid var(--dk-line); }
.dk-faq__q{
  font-weight:700; font-size:.95em; line-height:1.6;
  margin:0 !important; padding:14px 0 6px;
}
.dk-faq__a{
  font-size:.85em; line-height:1.9; color:var(--dk-sub);
  margin:0 !important; padding:0 0 14px; border-bottom:1px solid var(--dk-line);
}

@media (min-width:960px){
  .dk-lab > .wp-block-group__inner-container{ grid-template-columns:repeat(4,1fr); }
  .dk-hero{ padding:28px 26px; }
  .dk-hero__lead{ font-size:1.3em; }
}

/* ============================================================
   記事本文のボックス（THE THORからの変換先）
   ============================================================ */

.post_content .dk-box{
  margin:1.8em 0 !important; padding:1em 1.2em;
  font-size:.95em; line-height:1.9; border-radius:4px;
}

/* 要点・注意（旧：赤枠） */
.post_content .dk-box--point{
  background:#fbfcfc; border:1px solid var(--dk-key);
  border-top:3px solid var(--dk-key);
}

/* 疑問・問いかけ（旧：青枠） */
.post_content .dk-box--q{
  background:var(--dk-key-l); border:none;
  color:#2c4a52; font-weight:700;
}

/* 結論・強調（旧：中央寄せ大文字） */
.post_content .dk-box--lead{
  background:none; border-top:2px solid var(--dk-key);
  border-bottom:2px solid var(--dk-key); border-left:none; border-right:none;
  text-align:center; font-weight:700; font-size:1.05em; border-radius:0;
}

/* 参照リンク・引用元 */
.post_content .dk-box--ref{
  background:#fafbfc; border:none; border-left:3px solid var(--dk-accent);
  font-size:.88em; color:var(--dk-sub); border-radius:0;
}

/* メモ */
.post_content .dk-box--memo{
  background:#fffaf0; border:1px solid #f3e0bb;
}

/* Q&A */
.post_content .dk-qa{ margin:0 !important; line-height:1.9; }
.post_content .dk-qa--q{
  font-weight:700; padding:14px 0 6px; border-top:1px solid var(--dk-line);
}
.post_content .dk-qa--a{
  font-size:.93em; color:var(--dk-sub); padding:0 0 14px;
}


/* ============================================================
   検査値から選ぶ（トップの主役導線）
   ============================================================ */
.dk-lab > .wp-block-group__inner-container{
  display:grid; grid-template-columns:repeat(2,1fr); gap:12px;
}
@media (min-width:782px){
  .dk-lab > .wp-block-group__inner-container{ grid-template-columns:repeat(4,1fr); }
}
.dk-lab__item{ margin:0 !important; }
.dk-lab__item a{
  position:relative; display:block; height:100%; overflow:hidden;
  background:#fff; border:1px solid var(--dk-line);
  border-top:3px solid var(--dk-key);
  border-radius:10px; padding:16px 15px 15px; color:inherit;
  transition:transform .18s, box-shadow .18s, border-color .18s;
}
.dk-lab__item a:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 24px rgba(11,79,95,.14);
  border-color:var(--dk-key);
}
.dk-lab__ghost{
  position:absolute; right:-10px; bottom:-26px; line-height:1;
  font-size:88px; font-weight:900; color:rgba(11,79,95,.07);
  pointer-events:none; user-select:none;
}
.dk-lab__val{
  position:relative; z-index:1; display:inline-block;
  font-size:.6em; font-weight:700; letter-spacing:.02em; color:#fff;
  background:var(--dk-key); padding:4px 9px; border-radius:999px; margin-bottom:10px;
}
.dk-lab__name{
  position:relative; z-index:1; display:block;
  font-size:1.02em; line-height:1.4; margin-bottom:5px;
}
.dk-lab__desc{
  position:relative; z-index:1; display:block;
  font-size:.72em; color:var(--dk-sub); line-height:1.6;
}
.dk-lab__go{
  position:absolute; right:13px; top:14px; z-index:1;
  font-size:.8em; color:var(--dk-key); opacity:.35; transition:.18s;
}
.dk-lab__item a:hover .dk-lab__go{ opacity:1; transform:translateX(3px); }
