/*
  HLCA ブログ 見た目 v3 本番用 (生成: build_prod_css.py / 元: look_v3.css)
  mikuさん 2026-10-24 の返事を反映:
   - スマホ幅(max-width:47em)の font-size は一切変えない(= 今のテーマ/追加CSSの大きさのまま)。行間(line-height)は v3 の値を残す
   - PC 幅の文字の大きさは v3 のまま (@media not all and (max-width: 47em) の中)
   - 一覧(スマホ)は「画像を小さくした案」の並び。文字の大きさは変えない
  適用先: ブログ記事ページ(.page-media .media-contents .single-post)と一覧(.posts-lists)だけ。
         theme が <body> にクラスを付けないため、この構造クラスが「ブログ面だけ」の目印。
  CTAボタンの色・大きさに効く規則は含まない(.jp-cta-* / .cta-btn-* / .hlca-entry__btn--* は一度も出てこない)。
*/

/* ===== 1. 見出し (v1 の青系: H2=薄水色の面+左の青線 / H3=左のアクセント青線 / H4=小さな青い四角) ===== */
body .page-media .media-contents .single-post .post-content h2 {
  border: 0;
  border-left: 6px solid #2586c6;
  border-radius: 0 6px 6px 0;
  background: #e9f8ff;
  color: #393939;
  line-height: 1.55;
  padding: 14px 18px;
  margin: 60px 0 0;
}

body .page-media .media-contents .single-post .post-content h3 {
  background: none;
  border: 0;
  border-left: 4px solid #57c0e6;
  color: #393939;
  line-height: 1.6;
  padding: 3px 0 3px 12px;
  margin: 44px 0 0;
}

body .page-media .media-contents .single-post .post-content h4 {
  position: relative;
  background: none;
  border: 0;
  color: #393939;
  font-weight: 700;
  line-height: 1.6;
  padding: 2px 0 2px 24px;
  margin: 32px 0 0;
}

body .page-media .media-contents .single-post .post-content h4::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 13px;
  height: 13px;
  background: #2586c6;
  border-radius: 2px;
}

/* ===== 2. 本文 ===== */

body .page-media .media-contents .single-post .post-content p:not([class]) {
  color: #393939;
  line-height: 1.9;
  margin: 1.5em 0 0;
}

/* ===== 3. 「この記事でわかること」の囲み (緑のポイントカラー) ===== */

body .page-media .media-contents .single-post .post-content .hl-know {
  position: relative;
  margin: 34px 0 0;
  padding: 22px 20px 14px;
  border: 2px solid #61D395;
  border-radius: 10px;
  background: #fff;
}

body .page-media .media-contents .single-post .post-content .hl-know__title {
  position: absolute;
  top: -16px;
  left: 16px;
  margin: 0;
  padding: 4px 16px;
  background: #61D395;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  border-radius: 999px;
}

body .page-media .media-contents .single-post .post-content .hl-know ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

body .page-media .media-contents .single-post .post-content .hl-know li {
  position: relative;
  margin: 0 0 8px;
  padding: 0 0 0 28px;
  color: #393939;
  line-height: 1.75;
}

body .page-media .media-contents .single-post .post-content .hl-know li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 0.42em;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #61D395;
}

body .page-media .media-contents .single-post .post-content .hl-know li::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 0.42em;
  margin-top: 3px;
  width: 4px;
  height: 8px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* ===== 4. 吹き出し (青で統一。左=読者の疑問 / 右=監修者・編集部の答え) ===== */

body .page-media .media-contents .single-post .post-content .hl-bubble {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 26px 0 0;
}

body .page-media .media-contents .single-post .post-content .hl-bubble--right {
  flex-direction: row-reverse;
}

body .page-media .media-contents .single-post .post-content .hl-bubble__who {
  flex: 0 0 60px;
  width: 60px;
  text-align: center;
}

body .page-media .media-contents .single-post .post-content .hl-bubble__face {
  width: 56px;
  height: 56px;
  margin: 0 auto;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid #2586c6;
  background: #e9f8ff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #393939;
  font-weight: 700;
}

body .page-media .media-contents .single-post .post-content .hl-bubble__face img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin: 0;
}

body .page-media .media-contents .single-post .post-content .hl-bubble__name {
  margin: 5px 0 0;
  color: #666;
  line-height: 1.3;
}

body .page-media .media-contents .single-post .post-content .hl-bubble__text {
  position: relative;
  max-width: calc(100% - 84px);
  margin: 4px 0 0;
  padding: 12px 16px;
  border-radius: 12px;
  color: #393939;
  line-height: 1.8;
}

body .page-media .media-contents .single-post .post-content .hl-bubble--left .hl-bubble__text {
  background: #fff;
  border: 2px solid #2586c6;
}

body .page-media .media-contents .single-post .post-content .hl-bubble--left .hl-bubble__text::before {
  content: "";
  position: absolute;
  left: -11px;
  top: 18px;
  border: 9px solid transparent;
  border-left: 0;
  border-right-color: #2586c6;
}

body .page-media .media-contents .single-post .post-content .hl-bubble--left .hl-bubble__text::after {
  content: "";
  position: absolute;
  left: -7px;
  top: 20px;
  border: 7px solid transparent;
  border-left: 0;
  border-right-color: #fff;
}

body .page-media .media-contents .single-post .post-content .hl-bubble--right .hl-bubble__text {
  background: #e9f8ff;
  border: 2px solid #e9f8ff;
}

body .page-media .media-contents .single-post .post-content .hl-bubble--right .hl-bubble__text::before {
  content: "";
  position: absolute;
  right: -11px;
  top: 18px;
  border: 9px solid transparent;
  border-right: 0;
  border-left-color: #e9f8ff;
}

/* ===== 5. 監修者プロフィール (記事の末尾のカード・緑のポイントカラー) ===== */

body .page-media .media-contents .single-post .post-content .hlca-author-block.hl-sup-top {
  display: none !important;
}

body .page-media .media-contents .single-post .post-content .hlca-author-block.hl-sup-end {
  position: relative;
  background: #fff !important;
  border: 2px solid #61D395 !important;
  border-radius: 10px !important;
  padding: 26px 22px 18px !important;
  margin: 48px 0 0 !important;
  display: flex !important;
  gap: 20px !important;
  align-items: flex-start !important;
}

body .page-media .media-contents .single-post .post-content .hlca-author-block.hl-sup-end::before {
  content: "この記事の監修者";
  position: absolute;
  top: -16px;
  left: 16px;
  padding: 4px 16px;
  background: #61D395;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  border-radius: 999px;
}

body .page-media .media-contents .single-post .post-content .hlca-author-block.hl-sup-end img {
  width: 96px !important;
  height: 96px !important;
  border: 3px solid #EDF8F1 !important;
}

body .page-media .media-contents .single-post .post-content .hlca-author-block.hl-sup-end .hlca-author-info > div:nth-child(1) {
  display: none !important;
}

body .page-media .media-contents .single-post .post-content .hlca-author-block.hl-sup-end .hlca-author-info > div:nth-child(2) {
  color: #393939 !important;
  margin-bottom: 4px !important;
}

body .page-media .media-contents .single-post .post-content .hlca-author-block.hl-sup-end .hlca-author-info > div:nth-child(3) {
  color: #666 !important;
  margin-bottom: 10px !important;
}

body .page-media .media-contents .single-post .post-content .hlca-author-block.hl-sup-end .hlca-author-info > div:nth-child(4) {
  color: #393939 !important;
  line-height: 1.75 !important;
}

body .page-media .media-contents .single-post .post-content .hlca-author-block.hl-sup-end .hlca-author-info > div:nth-child(5) {
  margin-top: 10px !important;
}

/* ===== 5b. 監修者カードのリンク: 「二重の四角」を消し、青字+下線にする =====
   二重の四角の正体: テーマ style.css の `.page-media .media-contents .single-post .post-content a:after { content:url(../images/common/icon-link.png); margin:0 5px 0 10px }`
   (記事本文の中の全リンクの末尾に画像を足す。カード内の3本のリンク=写真・名前・プロフィール詳細が全部この対象) */

body .page-media .media-contents .single-post .post-content .hlca-author-block.hl-sup-end a::after {
  content: none !important;
  display: none !important;
  margin: 0 !important;
}

body .page-media .media-contents .single-post .post-content .hlca-author-block.hl-sup-end a[href] {
  color: #2586c6 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* 写真のリンクは文字が無いので下線は付けない */

body .page-media .media-contents .single-post .post-content .hlca-author-block.hl-sup-end > a:has(> img) {
  text-decoration: none !important;
}

body .page-media .media-contents .single-post .post-content .hlca-author-block.hl-sup-end .hlca-author-info > div:nth-child(2) a {
  color: #2586c6 !important;
}

/* ===== 6. 一覧のスマホ: 画像を小さくした横並びカード (一覧ページでだけ効く) ===== */

@media only screen and (max-width: 47em) {
  body .page-media .media-contents .posts-lists {
    display: block;
    margin: 0;
    padding: 0;
  }
  body .page-media .media-contents .posts-lists .posts-lists--item {
    float: none;
    position: relative;
    width: auto;
    height: auto;
    margin: 0;
    padding: 12px 0;
    border: 0;
    border-bottom: 1px solid #d1d5d4;
  }
  body .page-media .media-contents .posts-lists .posts-lists--item > a {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: #393939;
    text-decoration: none;
  }
  body .page-media .media-contents .posts-lists .posts-lists--item .posts-lists--cover {
    float: none;
    flex: 0 0 96px;
    width: 96px;
    height: auto;
    margin: 0;
    aspect-ratio: 3 / 2;
    border-radius: 6px;
    overflow: hidden;
  }
  body .page-media .media-contents .posts-lists .posts-lists--item .posts-lists--cover .cover-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  body .page-media .media-contents .posts-lists .posts-lists--item .posts-lists--info {
    float: none;
    position: static;
    flex: 1;
    min-width: 0;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas: "title title" "date cat";
    align-content: space-between;
    align-items: center;
    column-gap: 8px;
    row-gap: 6px;
    width: auto;
    height: auto;
    min-height: 64px;
    margin: 0;
  }
  body .page-media .media-contents .posts-lists .posts-lists--item .posts-lists--info .author-name,
    body .page-media .media-contents .posts-lists .posts-lists--item .posts-lists--info .photo {
    display: none;
  }
  body .page-media .media-contents .posts-lists .posts-lists--item .posts-lists--info .posts-lists--title {
    grid-area: title;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    margin: 0;
    color: #393939;
    font-weight: 700;
    /* 2026-10-26: v3 の 1.55 は 14px 前提。スマホは文字を今の 12px に戻したので、行間も今の 21.6px（1.8）を残す */
    line-height: 1.8;
  }
  body .page-media .media-contents .posts-lists .posts-lists--item .posts-lists--info .posts-lists--date {
    grid-area: date;
    position: static;
    left: auto;
    bottom: auto;
    margin: 0;
    color: #666;
    line-height: 1.2;
  }
  body .page-media .media-contents .posts-lists .posts-lists--item .posts-lists--info .posts-lists--category {
    grid-area: cat;
    justify-self: end;
    margin: 0;
    padding: 2px 8px;
    border: 1px solid #80bfe4;
    border-radius: 999px;
    background: #fff;
    color: #2586c6;
    line-height: 1.2;
  }
  body .page-media .media-contents .posts-lists .posts-lists--item.new:before {
    background-color: #2586c6;
    border-radius: 4px;
    left: 4px;
    top: 16px;
  }
}

/* ===== SP (テーマの境目と同じ 47em) ===== */

@media only screen and (max-width: 47em) {
  body .page-media .media-contents .single-post .post-content h2 {
    border-left-width: 5px;
    padding: 12px 14px;
    margin: 44px 0 0;
  }
  body .page-media .media-contents .single-post .post-content h3 {
    margin: 34px 0 0;
  }
  body .page-media .media-contents .single-post .post-content h4 {
    margin: 26px 0 0;
  }
  body .page-media .media-contents .single-post .post-content p:not([class]) {
    line-height: 1.85;
    margin: 1.3em 0 0;
  }
  body .page-media .media-contents .single-post .post-content .hl-know {
    padding: 20px 14px 12px;
  }
  body .page-media .media-contents .single-post .post-content .hl-bubble__who {
    flex-basis: 52px;
    width: 52px;
  }
  body .page-media .media-contents .single-post .post-content .hl-bubble__face {
    width: 48px;
    height: 48px;
  }
  body .page-media .media-contents .single-post .post-content .hl-bubble__text {
    max-width: calc(100% - 72px);
    padding: 10px 13px;
  }
  body .page-media .media-contents .single-post .post-content .hlca-author-block.hl-sup-end {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center;
    padding: 28px 16px 16px !important;
  }
  body .page-media .media-contents .single-post .post-content .hlca-author-block.hl-sup-end .hlca-author-info > div:nth-child(4) {
    text-align: left;
  }
}


/* ===== PC幅だけの文字の大きさ (v3 のまま) ===== */
@media not all and (max-width: 47em) {
  /* ===== 1. 見出し (v1 の青系: H2=薄水色の面+左の青線 / H3=左のアクセント青線 / H4=小さな青い四角) ===== */
  body .page-media .media-contents .single-post .post-content h2 {
    font-size: 24px;
  }
  body .page-media .media-contents .single-post .post-content h3 {
    font-size: 19px;
  }
  body .page-media .media-contents .single-post .post-content h4 {
    font-size: 17px;
  }
  body .page-media .media-contents .single-post .post-content p:not([class]) {
    font-size: 17px;
  }
  body .page-media .media-contents .single-post .post-content .hl-know__title {
    font-size: 15px;
  }
  body .page-media .media-contents .single-post .post-content .hl-know li {
    font-size: 16px;
  }
  body .page-media .media-contents .single-post .post-content .hl-bubble__face {
    font-size: 22px;
  }
  body .page-media .media-contents .single-post .post-content .hl-bubble__name {
    font-size: 11px;
  }
  body .page-media .media-contents .single-post .post-content .hl-bubble__text {
    font-size: 16px;
  }
  body .page-media .media-contents .single-post .post-content .hlca-author-block.hl-sup-end::before {
    font-size: 14px;
  }
  body .page-media .media-contents .single-post .post-content .hlca-author-block.hl-sup-end .hlca-author-info > div:nth-child(2) {
    font-size: 18px !important;
  }
  body .page-media .media-contents .single-post .post-content .hlca-author-block.hl-sup-end .hlca-author-info > div:nth-child(3) {
    font-size: 13.5px !important;
  }
  body .page-media .media-contents .single-post .post-content .hlca-author-block.hl-sup-end .hlca-author-info > div:nth-child(4) {
    font-size: 14px !important;
  }
  body .page-media .media-contents .single-post .post-content .hlca-author-block.hl-sup-end .hlca-author-info > div:nth-child(5) {
    font-size: 12.5px !important;
  }
}


/* ===== 7. 本文リンク: 二重四角のマーク(テーマ style.css の `.post-content a:after` = icon-link.png)を消し、青字+下線 =====
   クラスの付いていないリンクだけが対象。CTAボタン(.jp-cta-btn / .jp-cta-btn-v2 / .hlca-entry__btn--*)・
   ブログカード(.blog-card-anchor)・画像リンクは class 付きか画像のみなので触らない。 */
body .page-media .media-contents .single-post .post-content :is(p, li, td, th, dd, figcaption) a:not([class])::after {
  content: none !important;
  display: none !important;
  margin: 0 !important;
}
body .page-media .media-contents .single-post .post-content :is(p, li, td, th, dd, figcaption) a:not([class]):not(:has(> img)) {
  color: #2586c6;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ===== 7b. 本番の監修者カード(.hlca-author-block・今は記事の冒頭)のリンクにも同じ処置 (v3 見本の .hl-sup-end は本番に無いため) ===== */
body .page-media .media-contents .single-post .post-content .hlca-author-block a::after {
  content: none !important;
  display: none !important;
  margin: 0 !important;
}
body .page-media .media-contents .single-post .post-content .hlca-author-block a[href]:not(:has(> img)) {
  color: #2586c6 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* >>> hlca-doctor-comment:begin:20261028 >>>
   医師コメント用ブロック「医師のワンポイント」（mikuさん Asana 1217323914042839・10/27「いい感じです」の見本の形）。
   記事に入れる時は doctor_comment_snippet.html の形で本文に置く。この部品名を使った記事が無い限り、どのページの見た目も変わらない。 */
body .page-media .media-contents .single-post .post-content .hlca-doctor-comment{margin:32px 0 !important;padding:18px 20px 22px !important;border:1px solid #bcd2f0 !important;border-radius:10px !important;background:#fff !important;box-shadow:0 2px 8px rgba(31,95,191,.06) !important}
body .page-media .media-contents .single-post .post-content .hlca-doctor-comment__label{display:inline-flex !important;align-items:center;gap:8px;margin:0 0 16px -20px !important;padding:7px 18px 7px 16px !important;background:#1f5fbf !important;color:#fff !important;font-size:14px !important;font-weight:700 !important;line-height:1 !important;letter-spacing:.04em;clip-path:polygon(0 0,100% 0,calc(100% - 10px) 50%,100% 100%,0 100%);border:0 !important}
body .page-media .media-contents .single-post .post-content .hlca-doctor-comment__label::before{content:"";display:block;width:18px;height:18px;flex:0 0 18px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3v5a5 5 0 0 0 10 0V3'/%3E%3Cpath d='M10 13v2a5 5 0 0 0 10 0v-1'/%3E%3Ccircle cx='20' cy='12' r='2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3v5a5 5 0 0 0 10 0V3'/%3E%3Cpath d='M10 13v2a5 5 0 0 0 10 0v-1'/%3E%3Ccircle cx='20' cy='12' r='2'/%3E%3C/svg%3E") center/contain no-repeat}
body .page-media .media-contents .single-post .post-content .hlca-doctor-comment__body{display:flex !important;align-items:center;gap:22px}
body .page-media .media-contents .single-post .post-content .hlca-doctor-comment__person{flex:0 0 120px;margin:0 !important;padding:0 !important;text-align:center}
body .page-media .media-contents .single-post .post-content .hlca-doctor-comment__person img{display:block !important;width:104px !important;height:104px !important;max-width:none !important;margin:0 auto 8px !important;border-radius:50% !important;object-fit:cover;background:#f4f8fe;border:3px solid #f4f8fe !important;box-shadow:none !important}
body .page-media .media-contents .single-post .post-content .hlca-doctor-comment__person figcaption{margin:0 !important;padding:0 !important}
body .page-media .media-contents .single-post .post-content .hlca-doctor-comment__name{display:block;font-size:14px !important;font-weight:700;line-height:1.4 !important;color:#222 !important}
body .page-media .media-contents .single-post .post-content .hlca-doctor-comment__role{display:block;font-size:12px !important;line-height:1.4 !important;color:#666 !important}
body .page-media .media-contents .single-post .post-content .hlca-doctor-comment__bubble{position:relative;flex:1;padding:18px 22px !important;border:1px solid #bcd2f0 !important;border-radius:8px !important;background:#f4f8fe !important}
body .page-media .media-contents .single-post .post-content .hlca-doctor-comment__bubble::before{content:"";position:absolute;left:-10px;top:50%;width:18px;height:18px;margin-top:-9px;background:#f4f8fe;border-left:1px solid #bcd2f0;border-bottom:1px solid #bcd2f0;transform:rotate(45deg)}
body .page-media .media-contents .single-post .post-content .hlca-doctor-comment__bubble p{margin:0 0 .6em !important;font-size:16px !important;line-height:1.9 !important;color:#333 !important}
body .page-media .media-contents .single-post .post-content .hlca-doctor-comment__bubble p:last-child{margin-bottom:0 !important}
@media (max-width:600px){
 body .page-media .media-contents .single-post .post-content .hlca-doctor-comment{padding:16px 14px 18px !important}
 body .page-media .media-contents .single-post .post-content .hlca-doctor-comment__label{margin-left:-14px !important}
 body .page-media .media-contents .single-post .post-content .hlca-doctor-comment__body{flex-direction:column;align-items:stretch;gap:14px}
 body .page-media .media-contents .single-post .post-content .hlca-doctor-comment__person{display:flex !important;align-items:center;gap:12px;flex:none;text-align:left}
 body .page-media .media-contents .single-post .post-content .hlca-doctor-comment__person img{width:64px !important;height:64px !important;margin:0 !important}
 body .page-media .media-contents .single-post .post-content .hlca-doctor-comment__bubble{padding:14px 16px !important}
 body .page-media .media-contents .single-post .post-content .hlca-doctor-comment__bubble::before{left:28px;top:-10px;margin-top:0;border-left:1px solid #bcd2f0;border-bottom:0;border-top:1px solid #bcd2f0}
 body .page-media .media-contents .single-post .post-content .hlca-doctor-comment__bubble p{font-size:15px !important;line-height:1.8 !important}
}
/* <<< hlca-doctor-comment:end:20261028 <<< */
