/* 固定ページ本文の共通デザイン（v1.145.0）
 *
 * 固定ページ本文に、決められたクラス名のHTMLを貼るだけで新テーマのデザインが当たる。
 * すべて .mirais-doc 配下にスコープしてあるため、他のページ／プラグインの
 * 同名クラス（.cta-section 等）とは衝突しない。色変数も .mirais-doc に閉じて
 * 定義しているので、どのテーマが有効でも（未ログインのお客様でも）デザインが効く。
 */

.mirais-doc{
  --primary:#2055BC;--primary-dark:#153878;--accent:#00A3B4;
  --text:#1B2738;--text-sub:#5C6B7F;--bg-alt:#F7F9FC;--border:#E2E8F0;--primary-light:#E8EEFA;--warm:#F5821F;
  max-width:880px;margin:0 auto;padding:0 16px 60px;color:var(--text);
  font-family:'Noto Sans JP','Hiragino Sans',Meiryo,sans-serif;line-height:1.85;letter-spacing:.02em;
}
.mirais-doc *{box-sizing:border-box;}
.mirais-doc .section{margin:42px 0 0;}
.mirais-doc p{font-size:16px;line-height:2.05;color:var(--text);margin:0 0 2.2em;}
.mirais-doc strong{color:var(--primary-dark);font-weight:800;}

/* ページヒーロー */
.mirais-doc .doc-hero{background:linear-gradient(135deg,#0d285c,#125a82);color:#fff;border-radius:0 0 18px 18px;padding:34px 20px 30px;text-align:center;margin-bottom:8px;}
.mirais-doc .doc-hero .eyebrow{font-size:12px;letter-spacing:.18em;color:#9fc6e8;font-weight:800;margin:0 0 8px;}
.mirais-doc .doc-hero h1{margin:0;font-size:23px;line-height:1.5;font-weight:900;color:#fff;}

/* 見出し */
.mirais-doc .section-title{font-size:23px;font-weight:900;color:var(--primary-dark);text-align:center;margin:0 0 18px;position:relative;padding-bottom:12px;}
.mirais-doc .section-title::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:46px;height:4px;border-radius:99px;background:var(--accent);}
.mirais-doc .sub-title{font-size:17px;font-weight:800;color:var(--primary-dark);border-left:5px solid var(--accent);padding-left:12px;margin:28px 0 14px;}

/* 特長カード */
.mirais-doc .feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;}
.mirais-doc .feature-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px 18px;text-align:center;box-shadow:0 4px 14px rgba(32,85,188,.06);}
.mirais-doc .feature-card .icon{font-size:34px;line-height:1;display:block;margin-bottom:10px;}
.mirais-doc .feature-card h3{margin:0 0 7px;font-size:15.5px;font-weight:800;color:var(--primary-dark);line-height:1.45;}
.mirais-doc .feature-card p{margin:0;font-size:13px;color:var(--text-sub);line-height:1.7;}

/* おすすめチェックリスト */
.mirais-doc .recommend-box{background:var(--bg-alt);border:1px solid var(--border);border-left:5px solid var(--accent);border-radius:12px;padding:18px 20px;}
.mirais-doc .recommend-box ul{list-style:none;margin:0;padding:0;}
.mirais-doc .recommend-box li{position:relative;padding:7px 0 7px 30px;font-size:14.5px;line-height:1.7;border-bottom:1px dashed #dbe3ec;}
.mirais-doc .recommend-box li:last-child{border-bottom:0;}
.mirais-doc .recommend-box li::before{content:"✓";position:absolute;left:4px;top:7px;color:#fff;background:var(--accent);width:19px;height:19px;border-radius:50%;font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center;}

/* メリット詳細（連番） */
.mirais-doc .merit-detail-list{display:flex;flex-direction:column;gap:14px;counter-reset:merit;}
.mirais-doc .merit-detail-item{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px 20px 18px 58px;position:relative;box-shadow:0 3px 12px rgba(0,0,0,.04);}
.mirais-doc .merit-detail-item::before{counter-increment:merit;content:counter(merit);position:absolute;left:18px;top:18px;width:26px;height:26px;border-radius:50%;background:var(--primary);color:#fff;font-weight:900;font-size:14px;display:flex;align-items:center;justify-content:center;}
.mirais-doc .merit-detail-item h3{margin:0 0 6px;font-size:15.5px;font-weight:800;color:var(--primary-dark);}
.mirais-doc .merit-detail-item p{margin:0;font-size:13.5px;color:var(--text-sub);line-height:1.8;}

/* プランカード */
.mirais-doc .plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;}
.mirais-doc .plan-card{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 6px 18px rgba(32,85,188,.07);}
.mirais-doc .plan-card-head{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;padding:15px 18px;font-weight:800;font-size:15.5px;display:flex;align-items:center;gap:10px;line-height:1.4;}
.mirais-doc .plan-card-head .ico{font-size:22px;}
.mirais-doc .plan-card-body{padding:16px 18px 18px;font-size:13.5px;line-height:1.8;color:var(--text-sub);}

/* 料金テーブル */
.mirais-doc .price-table-wrap{overflow-x:auto;border-radius:12px;border:1px solid var(--border);}
.mirais-doc .price-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:480px;}
.mirais-doc .price-table th{background:var(--primary);color:#fff;font-weight:700;padding:12px 14px;text-align:left;white-space:nowrap;}
.mirais-doc .price-table td{padding:12px 14px;border-top:1px solid var(--border);color:var(--text);vertical-align:middle;}
.mirais-doc .price-table tr:nth-child(even) td{background:var(--bg-alt);}
.mirais-doc .price-table .price{font-weight:800;color:var(--primary-dark);white-space:nowrap;}
.mirais-doc .price-table .badge{display:inline-block;background:var(--accent);color:#fff;font-size:11px;font-weight:800;padding:2px 8px;border-radius:99px;margin-left:6px;}

/* CTA（海背景トーン） */
.mirais-doc .cta-section{margin:44px 0 0;background:linear-gradient(135deg,#0d285c,#125a82);color:#fff;border-radius:16px;padding:30px 20px 32px;text-align:center;box-shadow:0 10px 30px rgba(13,40,92,.22);}
.mirais-doc .cta-section h2{margin:0 0 6px;font-size:21px;font-weight:900;color:#fff;}
.mirais-doc .cta-section>p{margin:0 0 18px;font-size:13px;color:#d6e4f4;}
.mirais-doc .cta-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;max-width:760px;margin:0 auto;}
.mirais-doc .cta-btn{display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;font-weight:900;font-size:16px;padding:14px 12px;border-radius:12px;box-shadow:0 4px 14px rgba(0,0,0,.18);}
.mirais-doc .cta-btn small{font-weight:600;font-size:11px;opacity:.92;}
.mirais-doc .cta-btn.tel{background:#fff;color:var(--primary-dark);}
.mirais-doc .cta-btn.net{background:var(--warm);color:#fff;}
.mirais-doc .cta-btn.line{background:#06C755;color:#fff;}
.mirais-doc .cta-note{margin:16px 0 0;font-size:11.5px;color:#cddcee;}

/* アクセス */
.mirais-doc .access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;}
.mirais-doc .access-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px 20px;}
.mirais-doc .access-card h3{margin:0 0 8px;font-size:15px;font-weight:800;color:var(--primary-dark);}
.mirais-doc .access-card p{font-size:13px;color:var(--text-sub);margin:0 0 10px;line-height:1.7;}
.mirais-doc .map-link{display:inline-block;background:var(--primary-light);color:var(--primary-dark);text-decoration:none;font-weight:800;font-size:13px;padding:9px 16px;border-radius:10px;}

/* 濃い背景のCTAは白系の文字色を維持（親テーマの本文色ルールに勝たせる） */
.mirais-doc .cta-section h2{color:#fff!important;}
.mirais-doc .cta-section>p{color:#dbe7f6!important;}
.mirais-doc .cta-section .cta-note{color:#c7d8ee!important;}
.mirais-doc .cta-section .cta-btn.tel{color:var(--primary-dark)!important;}
.mirais-doc .cta-section .cta-btn.net,
.mirais-doc .cta-section .cta-btn.line{color:#fff!important;}

@media (max-width:560px){
  .mirais-doc .doc-hero h1{font-size:20px;}
  .mirais-doc .section-title{font-size:20px;}
  .mirais-doc .feature-grid,.mirais-doc .plan-grid,.mirais-doc .access-grid{grid-template-columns:1fr;}
  .mirais-doc .cta-buttons{grid-template-columns:1fr;}
}
