@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
*/

/* =============================
   詐欺被害救済ナビ 共通スタイル
   ============================= */
/* ============================================================
   デザイントークン(色はここを変えると全体に反映されます)
   ============================================================ */
:root{
  --navy: #16233b;      /* 濃紺(メイン) */
  --navy-deep: #0f1930; /* さらに濃い紺(フッター等) */
  --ink: #28324c;       /* 本文の文字色 */
  --cream: #f4efe6;     /* 背景(温かみのある生成り) */
  --paper: #fbf8f2;     /* カード・記事の背景 */
  --line: #e7dfce;      /* 罫線 */
  --muted: #726d61;     /* 補足テキスト */
  --gold: #9c7a2e;      /* アクセント(金) */
  --sage: #47705a;      /* 安心・緑系アクセント */
}
*{ box-sizing: border-box; }
body{
  margin: 0;
  font-family: 'Noto Sans JP', system-ui, sans-serif;
  color: var(--ink);
  background: var(--cream);
  line-height: 1.85;
  -webkit-font-smoothing: antialiased;
}
a{ color: inherit; text-decoration: none; }
::selection{ background: var(--navy); color: #fff; }

/* 見出し用の明朝体 */
.serif{ font-family: 'Shippori Mincho', serif; font-feature-settings: 'palt'; }

.container{ max-width: 1160px; margin: 0 auto; padding: 0 40px; }

/* 小見出し(金色の飾りラベル) */
.eyebrow{ font-size: 12.5px; letter-spacing: .28em; color: var(--gold); font-weight: 700; }
/* メインページの余白 */
.l-mainContent__inner>.post_content {
    margin: 1em 0;
    padding: 0 var(--swl-pad_post_content, 0);
}
/* ボタン */
.btn{ display: inline-block; border: none; border-radius: 2px; font-family: inherit; cursor: pointer; letter-spacing: .08em; text-align: center; }
.btn-navy{ background: var(--navy); color: #fff; padding: 16px 30px; font-size: 16px; font-weight: 500; }
.btn-navy:hover{ background: var(--navy-deep); }
.btn-gold{ background: var(--gold); color: #231a06; padding: 14px 26px; font-size: 15px; font-weight: 700; }
.btn-gold:hover{ background: #b08c39; }

/* ---------- 電話番号バー ---------- */
.helpline{ background: var(--navy-deep); color: #d9e0ec; font-size: 13px; }
.helpline .container{ padding-top: 9px; padding-bottom: 9px; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.helpline strong{ color: #fff; font-weight: 700; }
.helpline .note{ color: #9fb0c9; letter-spacing: .04em; }

/* ---------- ヘッダー ---------- */
.site-header{ position: sticky; top: 0; z-index: 30; background: rgba(244,239,230,.92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); }
.site-header .container{ padding-top: 15px; padding-bottom: 15px; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.brand-name{ font-size: 22px; font-weight: 700; letter-spacing: .06em; color: var(--navy); line-height: 1.2; }
.brand-sub{ font-size: 10.5px; letter-spacing: .24em; color: var(--muted); margin-top: 2px; }
.nav{ display: flex; align-items: center; gap: 28px; }
.nav a{ font-size: 14px; font-weight: 500; letter-spacing: .04em; }
.nav a:hover{ color: var(--gold); }
.nav .btn{ padding: 11px 20px; font-size: 14px; }

/* ---------- ヒーロー ---------- */
.hero{ background: var(--cream); border-bottom: 1px solid var(--line); }
.hero-grid{ display: grid; grid-template-columns: 1.15fr .85fr; gap: 68px; align-items: center; padding: 72px 0 84px; }
.hero h1{ font-size: 46px; line-height: 1.32; letter-spacing: .02em; color: var(--navy); font-weight: 700; margin: 24px 0; text-wrap: balance; }
.hero .lead{ font-size: 16.5px; line-height: 1.95; margin: 0 0 34px; max-width: 32em; }
.hero-actions{ display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.text-link{ font-size: 15px; font-weight: 500; color: var(--navy); border-bottom: 2px solid var(--gold); padding-bottom: 2px; letter-spacing: .03em; }
.text-link:hover{ color: var(--gold); }
.trust-row{ display: flex; gap: 38px; margin-top: 48px; flex-wrap: wrap; }
.trust-item{ border-left: 2px solid var(--line); padding-left: 16px; }
.trust-item .big{ font-size: 21px; color: var(--navy); font-weight: 700; }
.trust-item .small{ font-size: 13px; color: var(--muted); }

/* 相談フォームカード */
.form-card{ background: var(--navy); border-radius: 3px; padding: 34px 32px; box-shadow: 0 24px 60px -30px rgba(15,25,48,.55); }
.form-card h2{ font-size: 21px; color: #fff; font-weight: 700; letter-spacing: .04em; margin: 0 0 6px; }
.form-card .desc{ font-size: 13.5px; color: #aebcd2; margin: 0 0 22px; line-height: 1.8; }
.form-card .input{ width: 100%; padding: 13px 14px; margin-bottom: 11px; background: #1d2c48; border: 1px solid #2b3c5c; border-radius: 2px; color: #fff; font-size: 14px; font-family: inherit; outline: none; }
.form-card textarea.input{ resize: none; }
.form-card .btn{ width: 100%; padding: 14px; }
.form-card .fine{ font-size: 11.5px; color: #8698b4; margin: 14px 0 0; text-align: center; line-height: 1.7; }

/* ---------- セクション共通 ---------- */
.section{ padding: 78px 0 84px; }
.section-head h2{ font-size: 33px; line-height: 1.4; letter-spacing: .02em; color: var(--navy); font-weight: 700; margin: 14px 0 12px; }
.section-head p{ font-size: 15.5px; margin: 0; line-height: 1.9; max-width: 36em; }

/* ---------- 手口カテゴリのカード ---------- */
.cards-grid{ display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 42px; }
.card{ background: var(--paper); padding: 32px 30px 28px; display: flex; flex-direction: column; min-height: 218px; transition: background .15s; }
.card:hover{ background: #fff; }
.kicker{ font-size: 11px; letter-spacing: .2em; color: var(--gold); font-weight: 700; margin-bottom: 14px; }
.card h3{ font-size: 20px; line-height: 1.45; color: var(--navy); font-weight: 700; margin: 0 0 10px; }
.card p{ font-size: 14px; margin: 0 0 18px; line-height: 1.8; }
.card-foot{ margin-top: auto; display: flex; justify-content: space-between; align-items: center; }
.card-foot .count{ font-size: 13px; color: var(--muted); }
.card-foot .more{ font-size: 13.5px; font-weight: 700; color: var(--navy); letter-spacing: .04em; }

/* ---------- 最新の注意喚起(記事一覧) ---------- */
.feed{ background: var(--paper); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.feed-head{ display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 14px; }
.feed-head h2{ font-size: 28px; letter-spacing: .03em; color: var(--navy); font-weight: 700; margin: 0; }
.feed-link{ font-size: 14px; font-weight: 500; color: var(--navy); border-bottom: 1px solid var(--gold); letter-spacing: .04em; }
.feed-link:hover{ color: var(--gold); }
.feed-row{ display: grid; grid-template-columns: 170px 1fr auto; gap: 36px; align-items: baseline; padding: 26px 0; border-top: 1px solid var(--line); }
.feed-row:hover{ opacity: .78; }
.feed-row .cat{ font-size: 11px; letter-spacing: .18em; color: var(--gold); font-weight: 700; }
.feed-row .date{ font-size: 13px; color: var(--muted); margin-top: 5px; }
.feed-row h3{ font-size: 20px; line-height: 1.5; color: var(--navy); font-weight: 700; margin: 0 0 7px; }
.feed-row .excerpt{ font-size: 14.5px; margin: 0; max-width: 52em; line-height: 1.8; }
.feed-row .read{ font-size: 13px; color: var(--muted); white-space: nowrap; }

/* ---------- 「詐欺だったのかな」チェック(濃紺セクション) ---------- */
.dark-section{ background: var(--navy); color: #dfe5ef; padding: 86px 0; }
.dark-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: start; }
.dark-section h2{ font-size: 32px; line-height: 1.45; letter-spacing: .02em; color: #fff; font-weight: 700; margin: 18px 0 20px; }
.dark-section .lead{ font-size: 15.5px; color: #b9c4d6; margin: 0 0 30px; line-height: 1.95; max-width: 32em; }
.flag-list{ display: flex; flex-direction: column; gap: 16px; }
.flag{ display: flex; gap: 14px; align-items: flex-start; font-size: 15px; line-height: 1.85; }
.flag .mark{ color: var(--gold); font-size: 14px; margin-top: 5px; }
.flag strong{ color: #fff; font-weight: 700; }
.steps-card{ background: var(--navy-deep); border: 1px solid #223350; border-radius: 3px; padding: 38px 36px; }
.steps-card h3{ font-size: 22px; letter-spacing: .04em; color: #fff; font-weight: 700; margin: 0 0 24px; }
.step{ display: flex; gap: 18px; padding: 15px 0; border-top: 1px solid #223350; font-size: 14.5px; color: #cdd6e4; line-height: 1.85; }
.step .num{ font-family: 'Shippori Mincho', serif; font-size: 19px; color: var(--gold); font-weight: 700; min-width: 22px; }
.steps-card .btn{ width: 100%; margin-top: 26px; padding: 15px; }

/* ---------- 締めのCTA ---------- */
.cta-band{ padding: 80px 0; text-align: center; }
.cta-band h2{ font-size: 34px; line-height: 1.5; letter-spacing: .02em; color: var(--navy); font-weight: 700; margin: 18px 0; text-wrap: balance; }
.cta-band p{ font-size: 16px; margin: 0 auto 32px; max-width: 34em; line-height: 1.95; }

/* ---------- フッター ---------- */
.site-footer{ background: var(--navy-deep); color: #9fb0c9; }
.footer-grid{ display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 48px; padding: 60px 0 30px; }
.footer-brand{ font-size: 21px; font-weight: 700; letter-spacing: .06em; color: #fff; }
.footer-sub{ font-size: 11px; letter-spacing: .24em; color: #6f819d; margin: 4px 0 18px; }
.site-footer p{ font-size: 13.5px; line-height: 1.9; margin: 0 0 16px; max-width: 30em; }
.footer-tel{ font-size: 14px; color: #c3cddd; }
.footer-tel strong{ color: #fff; }
.footer-col h4{ font-size: 12px; letter-spacing: .2em; color: #6f819d; font-weight: 700; margin: 0 0 16px; }
.footer-col nav{ display: flex; flex-direction: column; gap: 11px; font-size: 14px; }
.footer-col a{ color: #c3cddd; }
.footer-col a:hover{ color: #fff; }
.footer-legal{ border-top: 1px solid #1c2c47; }
.footer-legal .container{ padding-top: 22px; padding-bottom: 22px; display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; font-size: 12px; color: #6f819d; }

/* ---------- スマホ・タブレット対応 ---------- */
@media (max-width: 960px){
  .container{ padding: 0 24px; }
  .nav a:not(.btn){ display: none; }        /* スマホではナビはボタンのみ */
  .hero-grid{ grid-template-columns: 1fr; gap: 44px; padding: 52px 0 60px; }
  .hero h1{ font-size: 34px; }
  .cards-grid{ grid-template-columns: 1fr 1fr; }
  .dark-grid{ grid-template-columns: 1fr; gap: 44px; }
  .feed-row{ grid-template-columns: 1fr; gap: 8px; }
  .feed-row .read{ display: none; }
  .footer-grid{ grid-template-columns: 1fr; gap: 36px; }
}
@media (max-width: 600px){
  .cards-grid{ grid-template-columns: 1fr; }
  .hero h1{ font-size: 29px; }
  .section-head h2, .dark-section h2, .cta-band h2{ font-size: 26px; }
}

/* 全体ラップ */
.sagi-single-wrap {
    max-width: 860px;
    margin: 0 auto;
    padding: 20px;
}

/* タイトル */
.sagi-title {
    font-size: 24px;
    font-weight: bold;
    color: #1a2f4e;
    border-left: 5px solid #1a6fd4;
    padding-left: 15px;
    margin-bottom: 30px;
    line-height: 1.6;
}

/* 警告ボックス（詐欺サイト情報用） */
.sagi-alert-box {
    background-color: #fff3f3;
    border-left: 5px solid #e53935;
    padding: 15px 20px;
    margin-bottom: 30px;
    border-radius: 4px;
    color: #333;
    font-size: 14px;
    line-height: 1.7;
}

/* 成功ボックス（解決事例用） */
.sagi-success-box {
    background-color: #f0f7ff;
    border-left: 5px solid #1a6fd4;
    padding: 15px 20px;
    margin-bottom: 30px;
    border-radius: 4px;
    color: #333;
    font-size: 14px;
    line-height: 1.7;
}

/* 情報提供元ボックス（コラム用） */
.sagi-supervisor-box {
    background-color: #f4f7fb;
    border: 1px solid #d0dce8;
    padding: 15px 20px;
    margin-bottom: 30px;
    border-radius: 4px;
}

.sagi-supervisor-label {
    font-size: 12px;
    color: #666;
    margin-bottom: 5px;
}

.sagi-supervisor-name {
    font-size: 15px;
    font-weight: bold;
    color: #1a2f4e;
    margin-bottom: 5px;
}

.sagi-supervisor-name a {
    color: #1a6fd4;
    text-decoration: none;
}

.sagi-update-date {
    font-size: 12px;
    color: #888;
    margin-top: 5px;
}

/* テーブル */
.sagi-info-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 40px;
    font-size: 15px;
}

.sagi-info-table th,
.sagi-info-table td {
    padding: 14px 18px;
    border: 1px solid #d0dce8;
    text-align: left;
    vertical-align: top;
    line-height: 1.7;
}

.sagi-info-table th {
    background-color: #1a2f4e;
    color: #fff;
    width: 28%;
    font-weight: bold;
}

.sagi-info-table tr:nth-child(odd) td {
    background-color: #fbf8f2;
}

.sagi-info-table tr:nth-child(even) td {
    background-color: #fff;
}

/* 本文エリア */
.sagi-content {
    margin-top: 40px;
    line-height: 1.9;
    color: #333;
    font-size: 15px;
}

/* CTAボックス */
.sagi-cta {
    background-color: #1a2f4e;
    border-radius: 8px;
    padding: 35px 30px;
    text-align: center;
    margin-top: 60px;
}

.sagi-cta-text {
    font-size: 17px;
    font-weight: bold;
    color: #fff;
    margin-bottom: 20px;
    line-height: 1.7;
}

.sagi-cta-btn {
    display: inline-block;
    background-color: #e53935;
    color: #fff;
    padding: 16px 48px;
    border-radius: 4px;
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
    transition: background-color 0.2s;
}

.sagi-cta-btn:hover {
    background-color: #c62828;
    color: #fff;
}
/* =============================
   相談窓口ページ
   ============================= */

.contact-wrap {
    max-width: 860px;
    margin: 0 auto;
    padding: 20px;
}

/* 事務所情報ボックス */
.contact-office-box {
    background-color: #f4f7fb;
    border: 1px solid #d0dce8;
    border-radius: 8px;
    padding: 30px;
    margin-bottom: 50px;
}

.contact-office-title {
    font-size: 22px;
    font-weight: bold;
    color: #1a2f4e;
    border-left: 5px solid #1a6fd4;
    padding-left: 15px;
    margin-bottom: 25px;
}

/* 事務所テーブル */
.contact-office-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
    font-size: 15px;
}

.contact-office-table th,
.contact-office-table td {
    padding: 14px 18px;
    border: 1px solid #d0dce8;
    text-align: left;
    vertical-align: top;
    line-height: 1.7;
}

.contact-office-table th {
    background-color: #1a2f4e;
    color: #fff;
    width: 28%;
    font-weight: bold;
}

.contact-office-table tr:nth-child(even) td {
    background-color: #fff;
}

.contact-office-table a {
    color: #1a6fd4;
    text-decoration: none;
}

/* 電話ボックス */
.contact-tel-box {
    background-color: #1a2f4e;
    border-radius: 8px;
    padding: 25px;
    text-align: center;
}

.contact-tel-label {
    color: #fff;
    font-size: 15px;
    margin-bottom: 10px;
}

.contact-tel-btn {
    display: inline-block;
    color: #fff;
    font-size: 32px;
    font-weight: bold;
    text-decoration: none;
    letter-spacing: 2px;
    margin-bottom: 10px;
}

.contact-tel-time {
    color: #adc4e0;
    font-size: 13px;
}

/* フォームボックス */
.contact-form-box {
    background-color: #f4f7fb;
    border: 1px solid #d0dce8;
    border-radius: 8px;
    padding: 30px;
}

.contact-form-title {
    font-size: 22px;
    font-weight: bold;
    color: #1a2f4e;
    border-left: 5px solid #1a6fd4;
    padding-left: 15px;
    margin-bottom: 15px;
}

.contact-form-desc {
    font-size: 14px;
    color: #666;
    margin-bottom: 25px;
    line-height: 1.7;
}
/* =============================
   相談の流れページ
   ============================= */

.flow-wrap {
    max-width: 860px;
    margin: 0 auto;
    padding: 20px;
}

.flow-desc {
    font-size: 15px;
    color: #555;
    line-height: 1.8;
    margin-bottom: 40px;
}

/* ステップ */
.flow-step {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 30px;
    background-color: #f4f7fb;
    border: 1px solid #d0dce8;
    border-radius: 8px;
    padding: 25px;
    position: relative;
}

.flow-step-num {
    background-color: #1a2f4e;
    color: #fff;
    font-size: 13px;
    font-weight: bold;
    padding: 8px 14px;
    border-radius: 4px;
    white-space: nowrap;
    letter-spacing: 1px;
}

.flow-step-title {
    font-size: 18px;
    font-weight: bold;
    color: #1a2f4e;
    margin-bottom: 10px;
}

.flow-step-content p {
    font-size: 14px;
    color: #555;
    line-height: 1.8;
    margin: 0;
}

/* 矢印 */
.flow-step + .flow-step::before {
    content: "▼";
    display: block;
    text-align: center;
    color: #1a6fd4;
    font-size: 20px;
    margin-bottom: 10px;
    position: absolute;
    top: -25px;
    left: 50%;
    transform: translateX(-50%);
}

/* CTAボックス */
.flow-cta {
    background-color: #1a2f4e;
    border-radius: 8px;
    padding: 35px 30px;
    text-align: center;
    margin-top: 50px;
}

.flow-cta-text {
    font-size: 17px;
    font-weight: bold;
    color: #fff;
    margin-bottom: 20px;
}
/* =============================
   よくある質問ページ
   ============================= */

.faq-wrap {
    max-width: 860px;
    margin: 0 auto;
    padding: 20px;
}

.faq-desc {
    font-size: 15px;
    color: #555;
    line-height: 1.8;
    margin-bottom: 40px;
}

/* FAQ項目 */
.faq-item {
    margin-bottom: 20px;
    border: 1px solid #d0dce8;
    border-radius: 8px;
    overflow: hidden;
}

/* 質問 */
.faq-question {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    background-color: #1a2f4e;
    padding: 18px 20px;
}

.faq-q-label {
    background-color: #1a6fd4;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.faq-question p {
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.7;
    margin: 0;
    padding-top: 4px;
}

/* =============================
   よくある質問ページ
   ============================= */

.faq-wrap {
    max-width: 860px;
    margin: 0 auto;
    padding: 20px;
}

.faq-desc {
    font-size: 15px;
    color: #555;
    line-height: 1.8;
    margin-bottom: 40px;
}

/* FAQ項目 */
.faq-item {
    margin-bottom: 20px;
    border: 1px solid #d0dce8;
    border-radius: 8px;
    overflow: hidden;
}

/* 質問 */
.faq-question {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    background-color: #1a2f4e;
    padding: 18px 20px;
}

.faq-q-label {
    background-color: #1a6fd4;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.faq-question p {
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.7;
    margin: 0;
    padding-top: 4px;
}

/* 回答 */
.faq-answer {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    background-color: #f4f7fb;
    padding: 18px 20px;
}

.faq-a-label {
    background-color: #e53935;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.faq-answer p {
    color: #333;
    font-size: 15px;
    line-height: 1.8;
    margin: 0;
    padding-top: 4px;
}

/* CTAボックス */
.faq-cta {
    background-color: #1a2f4e;
    border-radius: 8px;
    padding: 35px 30px;
    text-align: center;
    margin-top: 50px;
}

.faq-cta-text {
    font-size: 17px;
    font-weight: bold;
    color: #fff;
    margin-bottom: 20px;
}
/* =============================
   詐欺サイト情報 追加パーツ
   ============================= */

/* 目的・免責表記 */
.sagi-purpose-box {
    background-color: #f4f7fb;
    border: 1px solid #d0dce8;
    border-radius: 4px;
    padding: 15px 20px;
    margin-bottom: 30px;
    font-size: 13px;
    color: #555;
    line-height: 1.8;
}

.sagi-purpose-box p {
    margin: 0;
}

/* 相談事例ボックス */
.sagi-case-box {
    background-color: #f0f7ff;
    border-left: 5px solid #1a6fd4;
    border-radius: 4px;
    padding: 25px;
    margin-top: 50px;
}

.sagi-case-title {
    font-size: 18px;
    font-weight: bold;
    color: #1a2f4e;
    margin-bottom: 15px;
}

.sagi-case-box p {
    font-size: 14px;
    line-height: 1.9;
    color: #333;
    margin: 0;
}

/* 運営者情報 */
.sagi-office-box {
    margin-top: 50px;
}

.sagi-office-title {
    font-size: 18px;
    font-weight: bold;
    color: #1a2f4e;
    border-left: 5px solid #1a6fd4;
    padding-left: 15px;
    margin-bottom: 20px;
}

.sagi-office-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.sagi-office-table th,
.sagi-office-table td {
    padding: 12px 16px;
    border: 1px solid #d0dce8;
    text-align: left;
}

.sagi-office-table th {
    background-color: #f4f7fb;
    color: #1a2f4e;
    width: 28%;
    font-weight: bold;
}

.sagi-office-table a {
    color: #1a6fd4;
    text-decoration: none;
}

/* フォームボックス */
.sagi-form-box {
    background-color: #f4f7fb;
    border: 1px solid #d0dce8;
    border-radius: 8px;
    padding: 30px;
    margin-top: 50px;
}

.sagi-form-title {
    font-size: 18px;
    font-weight: bold;
    color: #1a2f4e;
    border-left: 5px solid #1a6fd4;
    padding-left: 15px;
    margin-bottom: 15px;
}

.sagi-form-desc {
    font-size: 13px;
    color: #666;
    margin-bottom: 20px;
}
.badge-required,
.badge-optional {
    display: inline-block;
    vertical-align: middle;
    margin-left: 4px;	
    margin-bottom: 0.5rem;
}

.badge-required {
    background-color: #a13a3a;
    color: #fff;
	font-weight: 700;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 2px;
    letter-spacing: 0.05em;
}

.badge-optional {
    background-color: white;
    color: #16233b;
    font-weight: 700;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 2px;
    letter-spacing: 0.05em;
}

/* 下部免責 */
.sagi-disclaimer {
    margin-top: 50px;
    padding: 20px;
    background-color: #fafafa;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
}

.sagi-disclaimer ul {
    margin: 0;
    padding-left: 20px;
}

.sagi-disclaimer li {
    font-size: 12.5px;
    color: #777;
    line-height: 1.9;
    margin-bottom: 5px;
}

.sagi-disclaimer a {
    color: #1a6fd4;
}
/* =============================
   解決事例 追加パーツ
   ============================= */

/* ご相談者様の声 */
.sagi-voice-box {
    background-color: #f0f7ff;
    border-left: 5px solid #1a6fd4;
    border-radius: 4px;
    padding: 25px;
    margin-top: 50px;
}

.sagi-voice-title {
    font-size: 18px;
    font-weight: bold;
    color: #1a2f4e;
    margin-bottom: 15px;
}

.sagi-voice-box p {
    font-size: 14px;
    line-height: 1.9;
    color: #333;
    margin: 0;
}

/* 結果の非保証表記 */
.sagi-notice-box {
    margin-top: 30px;
    padding: 15px 20px;
    background-color: #fffbf0;
    border: 1px solid #e8d9b0;
    border-radius: 4px;
}

.sagi-notice-box p {
    font-size: 13px;
    color: #7a6a45;
    line-height: 1.8;
    margin: 0;
}
/* =============================
   記事内パーツ リデザイン
   ============================= */

/* 明朝体（トップページと統一） */
.serif-mincho {
    font-family: 'Shippori Mincho', 'Hiragino Mincho ProN', serif;
}

/* --- 事務所プロフィールカード --- */
.office-card {
    margin-top: 50px;
    border: 1px solid #d8d2c3;
    border-radius: 4px;
    overflow: hidden;
    background-color: #fbf8f2;
}

.office-card-head {
    background-color: #16233b;
    padding: 12px 24px;
}

.office-card-label {
    color: #9c7a2e;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.2em;
}

.office-card-body {
    padding: 28px 24px;
}

.office-card-name {
    font-size: 24px;
    font-weight: 700;
    color: #16233b;
    letter-spacing: 0.06em;
    margin-bottom: 12px;
}

.office-card-desc {
    font-size: 13.5px;
    color: #555;
    line-height: 1.9;
    margin-bottom: 20px;
}

.office-card-info {
    border-top: 1px solid #e7dfce;
    padding-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.office-card-item {
    font-size: 14px;
    color: #333;
}

.office-card-item-label {
    display: inline-block;
    color: #9c7a2e;
    font-size: 12px;
    font-weight: bold;
	margin-right: 1rem;
    letter-spacing: 0.1em;
}

.office-card-item a {
    color: #16233b;
    font-weight: bold;
    text-decoration: none;
}

/* --- 被害者コメント（引用風） --- */
.voice-quote {
    position: relative;
    margin-top: 50px;
    background-color: #fbf8f2;
    border: 1px solid #e7dfce;
    border-radius: 4px;
    padding: 40px 32px 28px;
}

.voice-quote-mark {
    position: absolute;
    top: 6px;
    left: 20px;
    font-size: 64px;
    line-height: 1;
    color: #9c7a2e;
    opacity: 0.5;
}

.voice-quote-text {
    font-size: 15px;
    line-height: 2.0;
    color: #333;
    margin: 0 0 16px;
}

.voice-quote-meta {
    text-align: right;
    font-size: 12.5px;
    color: #888;
}

/* --- 無料相談バンド --- */
.consult-band {
    margin-top: 60px;
    background-color: #16233b;
    border-radius: 4px;
    padding: 45px 30px;
}

h2.consult-band-title {
    margin: 1rem auto;
    border: none;
}

.consult-band-inner {
    max-width: 560px;
    margin: 0 auto;
    text-align: center;
}
.consult-band label,
.consult-band .wpcf7-form label,
.consult-band p {
    display: block;
    color: #f0f2f6 !important;
    font-size: 13px;
    margin-bottom: 6px;
	text-align: left;
}
.consult-eyebrow {
    color: #9c7a2e;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.25em;
}

.consult-title {
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.6;
    margin: 14px 0 24px;
}

.consult-tel a {
    color: #fff;
    font-size: 34px;
    font-weight: bold;
    letter-spacing: 2px;
    text-decoration: none;
}

.consult-tel-note {
    display: block;
    color: #9fb0c9;
    font-size: 12.5px;
    margin-top: 4px;
}

.consult-or {
    color: #aebcd2;
    font-size: 13px;
    margin: 24px 0 16px;
    padding-top: 20px;
    border-top: 1px solid #2b3c5c;
}

/* フォームの入力欄を紺に馴染ませる */
.consult-band input[type="text"],
.consult-band input[type="email"],
.consult-band textarea {
    width: 100%;
    padding: 13px 14px;
    margin-bottom: 10px;
    background: #1d2c48;
    border: 1px solid #2b3c5c;
    border-radius: 2px;
    color: #fff;
    font-size: 14px;
    box-sizing: border-box;
}

.consult-band input[type="submit"] {
    width: 100%;
    padding: 15px;
    background-color: #9c7a2e;
    color: #231a06;
    border: none;
    border-radius: 2px;
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 0.08em;
    cursor: pointer;
}

.consult-band input[type="submit"]:hover {
    background-color: #b08c39;
}

.consult-fine {
    color: #8698b4;
    font-size: 11.5px;
    line-height: 1.7;
    margin-top: 14px;
}
/* =============================
   相談窓口ページ リデザイン
   ============================= */

.contact-wrap {
    max-width: 860px;
    margin: 0 auto;
    padding: 20px;
}

/* 事務所カード */
.contact-office-card {
    border: 1px solid #d8d2c3;
    border-radius: 4px;
    overflow: hidden;
    background-color: #fbf8f2;
    margin-bottom: 50px;
}

.contact-office-head {
    background-color: #16233b;
    padding: 12px 24px;
}

.contact-office-label {
    color: #9c7a2e;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.2em;
}

.contact-office-body {
    padding: 32px 28px;
}

.contact-office-name {
    font-family: 'Shippori Mincho', serif;
    font-size: 26px;
    font-weight: 700;
    color: #16233b;
    letter-spacing: 0.06em;
    margin-bottom: 14px;
}

.contact-office-desc {
    font-size: 14px;
    color: #555;
    line-height: 1.9;
    margin-bottom: 24px;
}

.contact-office-info {
    border-top: 1px solid #e7dfce;
    padding-top: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.contact-office-item {
    font-size: 14px;
    color: #333;
}

.contact-office-item-label {
    display: inline-block;
    color: #9c7a2e;
    font-size: 12px;
    font-weight: bold;
    width: 80px;
    letter-spacing: 0.1em;
}

/* 電話バンド */
.contact-tel-band {
    background-color: #0f1930;
    padding: 30px;
    text-align: center;
}

.contact-tel-label {
    color: #aebcd2;
    font-size: 14px;
    margin: 0 0 10px;
}

.contact-tel-num {
    display: inline-block;
    color: #fff;
    font-size: 34px;
    font-weight: bold;
    letter-spacing: 2px;
    text-decoration: none;
    margin-bottom: 8px;
}

.contact-tel-time {
    color: #8698b4;
    font-size: 12.5px;
    margin: 0;
}

/* フォームカード */
.contact-form-card {
    background-color: #16233b;
    border-radius: 4px;
    padding: 40px 36px;
}
h2.contact-form-title {
    margin: 1rem auto;
    border: none;
}
.contact-form-eyebrow {
    display: block;
    color: #9c7a2e;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.25em;
    margin-bottom: 14px;
}

.contact-form-title {
    font-family: 'Shippori Mincho', serif;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 10px;
}

.contact-form-desc {
    font-size: 13.5px;
    color: #aebcd2;
    margin: 0 0 26px;
    line-height: 1.8;
}

.contact-form-card input[type="text"],
.contact-form-card input[type="email"],
.contact-form-card textarea {
    width: 100%;
    padding: 13px 14px;
    margin-bottom: 12px;
    background: #1d2c48;
    border: 1px solid #2b3c5c;
    border-radius: 2px;
    color: #fff;
    font-size: 14px;
    box-sizing: border-box;
}

.contact-form-card label,
.contact-form-card .wpcf7-form label,
.contact-form-card p {
    display: block;
    color: #f0f2f6 !important;
    font-size: 13px;
    margin-bottom: 6px;
}

.contact-form-card input[type="submit"] {
    width: 100%;
    padding: 15px;
    background-color: #9c7a2e;
    color: #231a06;
    border: none;
    border-radius: 2px;
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 0.08em;
    cursor: pointer;
}

.contact-form-card input[type="submit"]:hover {
    background-color: #b08c39;
}

.contact-form-fine {
    color: #8698b4;
    font-size: 11.5px;
    line-height: 1.7;
    margin-top: 16px;
    text-align: center;
}
/* =============================
   スマホ対応：情報テーブルを縦並びに
   ============================= */

@media (max-width: 600px) {
    .sagi-info-table,
    .sagi-info-table tbody,
    .sagi-info-table tr,
    .sagi-info-table th,
    .sagi-info-table td {
        display: block;
        width: 100%;
    }

    .sagi-info-table tr {
        margin-bottom: 0;
    }

    .sagi-info-table th {
        border-bottom: none;
        padding-bottom: 8px;
    }

    .sagi-info-table td {
        border-top: none;
        padding-top: 8px;
        padding-bottom: 20px;
    }
}