/*
 * 遺言書作成ページ コンテンツ補強CSS
 * 対象: top-img2025/page-service04.php
 * コピー: deliverables/content/content-improve_20261001_yuigonsyosakusei.md
 * kokko-page-20260924.css と同じ設計。色はページ内の料金欄（#3a6b54）に合わせる。
 */
.page-2025.yuigon-page,
.page-2025.yuigon-page *{box-sizing:border-box}

.page-2025.yuigon-page .yuigon-content{padding:80px 20px;color:#333;background:#fff}
.page-2025.yuigon-page .yuigon-content--tint{background:#f7f5f0}
.page-2025.yuigon-page .yuigon-content>.container{max-width:1100px;margin:0 auto}
.page-2025.yuigon-page .yuigon-content h2{margin:0 auto 32px;color:#333;font-size:clamp(1.65rem,3.4vw,2rem);font-weight:600;line-height:1.5;letter-spacing:.03em;text-align:center}
.page-2025.yuigon-page .yuigon-content h2>span{color:#3a6b54;font-size:1rem;letter-spacing:.08em}
.page-2025.yuigon-page .yuigon-content h3{color:#3a6b54;line-height:1.55}
.page-2025.yuigon-page .yuigon-content p,
.page-2025.yuigon-page .yuigon-content li,
.page-2025.yuigon-page .yuigon-content td,
.page-2025.yuigon-page .yuigon-content th{font-size:17px;font-weight:500;line-height:1.9}
.page-2025.yuigon-page .yuigon-content p{text-align:left}
.page-2025.yuigon-page .yuigon-lead{max-width:800px;margin:0 auto 40px;text-align:center!important}
.page-2025.yuigon-page ruby{ruby-position:over}
.page-2025.yuigon-page rt{font-size:.55em;font-weight:500;line-height:1}
.page-2025.yuigon-page .yuigon-related{max-width:800px;margin:28px auto 0}
.page-2025.yuigon-page .yuigon-related a,
.page-2025.yuigon-page .yuigon-sources a{color:#3a6b54;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}

.page-2025.yuigon-page .yuigon-note{max-width:1000px;margin:32px auto 0;padding:24px 28px;border-left:4px solid #3a6b54;background:#f1f6f3}
.page-2025.yuigon-page .yuigon-note p{margin:0}
.page-2025.yuigon-page .yuigon-note p+p{margin-top:12px}

/* 費用の表 */
.page-2025.yuigon-page .yuigon-table{width:100%;max-width:960px;margin:0 auto;border-collapse:collapse;background:#fff}
.page-2025.yuigon-page .yuigon-table caption{margin-bottom:14px;color:#7a4325;font-size:.88rem;font-weight:700;letter-spacing:.08em;text-align:left}
.page-2025.yuigon-page .yuigon-table th,
.page-2025.yuigon-page .yuigon-table td{padding:18px 20px;border:1px solid #d9e2dc;text-align:left;vertical-align:top}
.page-2025.yuigon-page .yuigon-table thead th{background:#3a6b54;color:#fff;font-weight:700}
.page-2025.yuigon-page .yuigon-table tbody th{width:32%;background:#f7f5f0;color:#3a6b54;font-weight:700}

/* FAQ */
.page-2025.yuigon-page .yuigon-faq-list{max-width:900px;margin:0 auto}
.page-2025.yuigon-page .yuigon-faq details{margin-bottom:16px;border:1px solid #d9e2dc;border-radius:16px;background:#fff}
.page-2025.yuigon-page .yuigon-faq summary{position:relative;min-height:64px;padding:20px 64px 20px 24px;color:#3a6b54;font-size:17px;font-weight:700;line-height:1.65;cursor:pointer;list-style:none}
.page-2025.yuigon-page .yuigon-faq summary::-webkit-details-marker{display:none}
.page-2025.yuigon-page .yuigon-faq summary::after{content:"＋";position:absolute;top:50%;right:24px;display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:#3a6b54;color:#fff;font-size:1.2rem;line-height:1;transform:translateY(-50%)}
.page-2025.yuigon-page .yuigon-faq details[open] summary::after{content:"−"}
.page-2025.yuigon-page .yuigon-faq-answer{padding:0 24px 24px}
.page-2025.yuigon-page .yuigon-faq-answer p{margin:0;padding-top:20px;border-top:1px solid #d9e2dc}
.page-2025.yuigon-page .yuigon-faq-answer p+p{margin-top:16px;padding-top:0;border-top:0}

/* 出典 */
.page-2025.yuigon-page .yuigon-sources{max-width:900px;margin:48px auto 0;padding-top:32px;border-top:1px solid #d9e2dc}
.page-2025.yuigon-page .yuigon-sources h3{margin:0 0 16px;font-size:1.15rem}
.page-2025.yuigon-page .yuigon-sources ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 32px;margin:0;padding-left:1.25em}
.page-2025.yuigon-page .yuigon-sources li{font-size:15px;line-height:1.7}
.page-2025.yuigon-page :is(a,summary):focus-visible{outline:3px solid #7a4325;outline-offset:4px}


/* 注記の見出し */
.page-2025.yuigon-page .yuigon-note__title{margin-bottom:8px!important;color:#3a6b54;font-weight:700!important}
.page-2025.yuigon-page .yuigon-table{margin-bottom:0}
.page-2025.yuigon-page .yuigon-compare-table tbody th{width:20%}
.page-2025.yuigon-page .yuigon-docs-table tbody th{width:62%;color:#333;font-weight:500}

/* 主なケース */
.page-2025.yuigon-page .yuigon-case-list{max-width:960px;margin:0 auto;padding:0;list-style:none}
.page-2025.yuigon-page .yuigon-case-list li{position:relative;padding:14px 0 14px 28px;border-bottom:1px dashed #d9e2dc}
.page-2025.yuigon-page .yuigon-case-list li:last-child{border-bottom:0}
.page-2025.yuigon-page .yuigon-case-list li::before{content:"";position:absolute;top:1.55em;left:0;width:10px;height:10px;border-radius:50%;background:#3a6b54}
.page-2025.yuigon-page .yuigon-case-list strong{display:block;color:#3a6b54;font-weight:700}

/* 流れ */
.page-2025.yuigon-page .yuigon-steps{max-width:900px;margin:0 auto;padding:0;list-style:none;counter-reset:yuigon-step}
.page-2025.yuigon-page .yuigon-steps li{position:relative;margin:0 0 16px;padding:22px 24px 22px 84px;border:1px solid #d9e2dc;border-radius:16px;background:#fff;counter-increment:yuigon-step}
.page-2025.yuigon-page .yuigon-steps li::before{content:counter(yuigon-step);position:absolute;top:22px;left:24px;display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:#3a6b54;color:#fff;font-weight:700}
.page-2025.yuigon-page .yuigon-steps h3{margin:0 0 6px;font-size:1.15rem}
.page-2025.yuigon-page .yuigon-steps p{margin:0}

@media(max-width:700px){
  .page-2025.yuigon-page .yuigon-compare-table tbody th,
  .page-2025.yuigon-page .yuigon-docs-table tbody th{width:100%}
  .page-2025.yuigon-page .yuigon-table td[data-label]::before{content:attr(data-label);display:block;margin-bottom:4px;color:#3a6b54;font-size:.85rem;font-weight:700}
  .page-2025.yuigon-page .yuigon-steps li{padding:18px 18px 18px 68px}
  .page-2025.yuigon-page .yuigon-steps li::before{top:18px;left:16px;width:36px;height:36px}

  .page-2025.yuigon-page .yuigon-content{padding:64px 18px}
  .page-2025.yuigon-page .yuigon-content h2{margin-bottom:24px;font-size:1.55rem;text-align:left}
  .page-2025.yuigon-page .yuigon-content h2>span{font-size:.88rem}
  .page-2025.yuigon-page .yuigon-content p,
  .page-2025.yuigon-page .yuigon-content li,
  .page-2025.yuigon-page .yuigon-content td,
  .page-2025.yuigon-page .yuigon-content th{font-size:16px;line-height:1.85}
  .page-2025.yuigon-page .yuigon-lead{text-align:left!important}
  .page-2025.yuigon-page .yuigon-sources ul{grid-template-columns:1fr}
  .page-2025.yuigon-page .yuigon-note{padding:20px}
  .page-2025.yuigon-page .yuigon-table th,
  .page-2025.yuigon-page .yuigon-table td{display:block;width:100%;border-bottom:0}
  .page-2025.yuigon-page .yuigon-table tbody tr{display:block;margin-bottom:16px;border-bottom:1px solid #d9e2dc}
  .page-2025.yuigon-page .yuigon-table thead{display:none}
  .page-2025.yuigon-page .yuigon-faq summary{padding:18px 56px 18px 20px;font-size:16px}
  .page-2025.yuigon-page .yuigon-faq summary::after{right:18px;width:28px;height:28px}
  .page-2025.yuigon-page .yuigon-faq-answer{padding:0 20px 20px}
}
@media(prefers-reduced-motion:reduce){
  .page-2025.yuigon-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

/* 2026-10-23 流れの注記と手順一覧の間を空ける */
.page-2025.yuigon-page .yuigon-note+.yuigon-steps{margin-top:32px}
