@charset "utf-8";
/*
 * 記事本文カスタムCSS(手書き用)
 * このファイルはSass(scss/)の管理外です。コンパイルで上書きされないため、直接編集して構いません。
 * style.cssの後に読み込まれるので、同じセレクタなら基本こちらが優先されます。
 * 読み込み: header.php(filemtime付きのため、上書き保存すればキャッシュは自動で切り替わります)
 */
/* ===== 本文のブロックタグ表示(記事テンプレート改修相談 No.1) =====
   HTMLモード(本文にp/ul/ol/table/dl等を含むフィールド)のみ該当。
   page-lp_article.phpのインラインstyleから移設(2026-08-17) */
.outline p, .single-txt p, .single-desc-txt p {
  margin: 0 0 1.5em;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: justify;
  text-justify: inter-character;
}
@media only screen and (max-width: 767px) {
  .outline p, .single-txt p, .single-desc-txt p {
    margin: 0 0 1.2em;
  }
}
.outline p:last-child, .single-txt p:last-child, .single-desc-txt p:last-child {
  margin-bottom: 0;
}
.outline a, .single-txt a, .single-desc-txt a {
  color: #44ADA9;
}
/* h1：タイトル */
.single-hl {
  font-size: 24px;
  letter-spacing: 0.01em;
  margin-bottom: 2em;
  text-align: justify;
  text-justify: inter-character;
}
@media only screen and (max-width: 767px) {
  .single-hl {
    font-size: 18px;
    letter-spacing: 0.01em;
    margin-bottom: 2em;
    text-align: justify;
    text-justify: inter-character;
  }
}
/* h2：大見出し */
.single-shl-lv1 {
  font-size: 22px;
  letter-spacing: 0.03em;
  margin: 2em 0 1.5em;
  padding: 0.5em 1em;
  line-height: 1.5;
  text-align: justify;
  text-justify: inter-character;
}
@media only screen and (max-width: 767px) {
  .single-shl-lv1 {
    font-size: 16px;
  }
}
/* h3：小見出し */
.single-shl-lv2 {
  font-size: 18px;
  line-height: 1.5;
  text-align: justify;
  text-justify: inter-character;
  position: relative;
  padding-left: 1.8em;
  text-indent: 0;
}
.single-shl-lv2::before {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (max-width: 767px) {
  .single-shl-lv2 {
    font-size: 15px;
    position: relative;
    padding-left: 1.8em;
    text-indent: 0;
  }
  .single-shl-lv2::before {
    position: absolute;
    left: 0;
    top: 0;
  }
}
/* リスト */
.outline ul, .outline ol, .single-txt ul, .single-txt ol, .single-desc-txt ul, .single-desc-txt ol {
  margin: 0 0 1.2em;
  padding-left: 1.6em;
  list-style-position: outside;
}
.outline ul li, .single-txt ul li, .single-desc-txt ul li {
  list-style: disc;
}
.outline ol li, .single-txt ol li, .single-desc-txt ol li {
  list-style: decimal;
}
/* 目次（番号は::beforeでdata-number出力。ぶら下げ揃え） */
.toc-list > li {
  position: relative;
  padding-left: 1.8em;
  text-indent: 0;
  letter-spacing: 0.05em;
}
.toc-list > li::before {
  position: absolute;
  left: 0;
  top: 0;
}
.toc-sub-list {
  margin-left: 1.5em;
}
.toc-sub-list > li {
  position: relative;
  padding-left: 1.4em;
  text-indent: 0;
  letter-spacing: 0.05em;
}
.toc-sub-list > li::before {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (max-width: 767px) {
  .toc-list {
    font-size: 13px;
  }
  .toc-list > li {
    position: relative;
    padding-left: 2em;
    text-indent: -1.5em;
    letter-spacing: 0.05em;
  }
  .toc-list > li::before {
    position: absolute;
    left: 0;
    top: 0;
    width: 2em;
  }
  .toc-sub-list {
    margin-left: 0;
  }
  .toc-sub-list > li {
    position: relative;
    padding-left: 1.4em;
    text-indent: 0;
    letter-spacing: 0.05em;
  }
  .toc-sub-list > li::before {
    position: absolute;
    left: 0;
    top: 0;
    width: 1.4em;
  }
}
/* リスト（ul：チェックマーク / ol：番号） */
.outline ul, .single-txt ul, .single-desc-txt ul, .outline ol, .single-txt ol, .single-desc-txt ol {
  margin: 0 0 1.2em;
  padding-left: 1.6em;
}
/* ul はマーカーを消してチェックマークを自作 */
.outline ul, .single-txt ul, .single-desc-txt ul {
  padding-left: 0;
  list-style: none;
}
.outline ul > li, .single-txt ul > li, .single-desc-txt ul > li {
  font-size: 15px;
  position: relative;
  padding-left: 1.3em;
  margin-bottom: 0.8em;
  line-height: 1.6;
  list-style: none;
}
.outline ul > li::before, .single-txt ul > li::before, .single-desc-txt ul > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.1em;
  width: 0.5em;
  height: 0.9em;
  border-right: 3px solid #e5007e;
  border-bottom: 3px solid #e5007e;
  transform: rotate(45deg);
}
@media only screen and (max-width: 767px) {
  .outline ul > li, .single-txt ul > li, .single-desc-txt ul > li {
    padding-left: 1.2em;
    list-style: none;
  }
  .outline ul > li::before, .single-txt ul > li::before, .single-desc-txt ul > li::before {
    top: 0.3em;
    width: 0.4em;
    height: 0.8em;
    border-right: 3px solid #e5007e;
    border-bottom: 3px solid #e5007e;
    transform: rotate(45deg);
  }
}
.outline ul > li:last-child, .single-txt ul > li:last-child, .single-desc-txt ul > li:last-child {
  margin-bottom: 0;
}
/* ol は通常の番号リスト */
.outline ol > li, .single-txt ol > li, .single-desc-txt ol > li {
  list-style: decimal;
  margin-bottom: 0.6em;
  line-height: 1.8;
}
/* テーブル */
.outline table, .single-txt table {
  border-collapse: collapse;
  margin: 0 0 1.2em;
  width: 100%;
  table-layout: fixed;
}
.outline th, .outline td, .single-txt th, .single-txt td {
  border: 1px solid #ddd;
  font-size: 13px;
  padding: 0.6em;
  line-height: 1.6;
  text-align: center;
  vertical-align: middle;
}
.outline th, .single-txt th {
  background: #f5f5f5;
  font-weight: 700;
}
/* 定義リスト */
.outline dl, .single-txt dl {
  margin: 1.5em 0;
}
.outline dt, .single-txt dt {
  font-weight: 700;
  margin-bottom: 0.5em;
  line-height: 1.5;
  color: #e5007e;
}
.outline dd, .single-txt dd {
  margin: 0 0 1.8em 1em;
  line-height: 1.75;
}
@media only screen and (max-width: 767px) {
  .outline dt, .single-txt dt, .outline dd, .single-txt dd {
    font-size: 15px;
  }
}
/* ===== 注釈タイトル(記事テンプレート改修相談 No.3) =====
   h2→p変更に伴い、ブラウザ標準の見出し太字が外れるため従来の見た目を維持する */
.single-desc-shl {
  font-weight: 700;
}
.single-desc {
  margin: 2em 0 3em;
}
/* ===== FAQ(よくある質問。記事テンプレート改修相談 No.2 案A) =====
   出力構造: <div id="faq" class="single-sec-lv1 single-faq"><h2 class="single-shl-lv1">見出し</h2>
             <dl class="single-faq-list"><dt>質問</dt><dd>回答</dd>...</dl></div> */
.single-faq-list {
  margin: 1.5em auto 0;
  width: 640px;
}
.single-faq-list dt, .single-faq-list dd {
  font-size: 16px;
  text-align: justify;
  text-justify: inter-character;
}
.single-faq-list dt {
  font-weight: 700;
  margin-bottom: 0.5em;
  line-height: 1.5;
  color: #e5007e;
  position: relative;
  padding-left: 1.5em;
}
.single-faq-list dt::before {
  content: "Q";
  position: absolute;
  left: 0;
  font-weight: 700;
  color: #e5007e;
}
.single-faq-list dd {
  margin: 0 0 1.8em;
  line-height: 1.75;
  position: relative;
  padding-left: 1.5em;
}
.single-faq-list dd::before {
  content: "A";
  position: absolute;
  left: 0;
  font-weight: 700;
  color: #666;
}
@media only screen and (max-width: 767px) {
  .single-faq-list {
    margin: 1.5em auto 0;
    width: 89.333vw;
  }
  .single-faq-list dt, .single-faq-list dd {
    font-size: 15px;
  }
  single-faq-list dd {
    margin: 0 0 1.8em 1em;
  }
}