:root {
    /* 見出しフォント　*/
    --font-heading: "Noto Serif JP", serif;

    /* メインフォント　*/
    --font-body: "Noto Serif JP", serif;

    /* メイン背景　*/
    --color-bg: #FFFFFF;

    /* voice背景 */
    --color-bg-voices: #F4F4F4;
    --color-bg-cta: #FFF0D8;

    /* メイン文字 */
    --color-text: #3B3533;

    /* アクセント */
    --color-accent: #55d1c9;

    /* ホバー */
    --color-accent-hover: #3dbbb3;

    /* 補足文字 */
    --color-muted: #aaa;

    /* 境界線 */
    --color-border: #2b2f33;

    /* ボタン */
    --btn-primary: #55d1c9;

    /* サブボタン */
    --btn-secondary: #ced4da;

    /* ボタン背景 */
    --btn-bg: #ffffff;
    /* ボックスシャドウ */
    --shadow-box: #A26441;
    --shadow-box--faq: #235D91;

    --radius: 26px;
    --ink: #3a2d1c;
    /* 見出し色 */
    --text: #4a4036;

    /* 画像パス */
    /* パネルの背景画像 */
    --panel-bg: url("../img/img-soudan-section02-back.png");

    /* 額縁枠画像 */
    --title-frame: url("../img/img-soudan-section01-title.svg");

    /* チェックアイコン */
    --check: url("../img/img-soudan-section02-icon.svg");

    /* 案内お兄さん */
    --atendman: url("../img/img-soudan-section02-ashirai.svg");

    --cta-bg: url("../img/img-soudan-section03-back.png");

}


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body.page-id-1447 {
    font-family: var(--font-body);
    line-height: 1.6;
    /* ← 俺のオススメ！ */
    color: var(--color-text);
    background-color: var(--color-bg);
}

.br--pc {
    display: inline;
}

.br--sp {
    display: none;
}

.contact__CF7 {
    background-color: #55d1c9;
}

img {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

ul,
li {
    list-style: none;
}

.container {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.text-center {
    text-align: center;
    margin: 0 auto;
}

.flex-jc {
    display: flex;
    justify-content: center;
}

.mb-3 {
    margin-bottom: 1.5rem !important;
}

.mb-10 {
    margin-bottom: 5rem !important;
}

.pl-8 {
    padding-left: 4rem;
}

.section__title {
    font-size: 2.4rem;
    padding: 2rem 3rem;
    margin: 3rem auto;
    text-align: center;
    font-weight: bold;
}

.title-9slice {
    /* 枠の太さ＝見せたい額縁の厚み（画像に合わせて調整） */
    border: 32px solid transparent;

    /* 画像を指定 */
    border-image-source: url(../img/img-soudan-section01-titleSP.svg);

    /* 9スライス：上 右 下 左（px はソース画像のピクセルで指定）*/
    border-image-slice: 32 32 32 32;
    /* 角が 32px の例 */

    /* 辺の伸ばし方。角は固定、辺は引き伸ばし（柄に応じて round/repeat に変更可） */
    border-image-repeat: stretch;

    /* 省略：border-image-width（未指定なら border の幅が使われる） */
    /* border-image-width: 1; でもOK */

    /* プレート内側 */
    background: #fff;
    /* 中央を白にしたいなら */
    padding: 14px 32px;
    /* 文字と枠の距離（自由） */
    text-align: center;
    color: #3a2d1c;
    line-height: 1.3;
}

.section__title .text__red {
    color: #ED574A;
}

.section__img {
    display: flex;
    justify-content: center;
    margin-bottom: 80px;
}

/* --------------------------------------------------------------------------
    セクション ヒーロー
--------------------------------------------------------------------------*/
.kv {
    min-height: 300px;
    background: url(../img/img-soudan-kv.png) center no-repeat;
    background-size: cover;
    /* display: flex;
    justify-content: flex-start;
    align-items: center; */
}

.kv__inner {
    max-width: 1000px;
    min-height: 300px;
    margin: 0 auto;
    display: flex;
    align-items: center;
}

.kv h2 {
    font-size: 28px;
    text-align: left;
    font-weight: bold;
}

.hero {
    display: flex;
    justify-content: center;
    margin-bottom: 80px;
    padding-top: 3rem;
}


/* --------------------------------------------------------------------------
    セクション CTA
--------------------------------------------------------------------------*/
/* ▼ 背景：全幅フルブリード＋下三角形 */
.cta-bg {
    position: relative;
    min-height: 240px;
    isolation: isolate;
    background-color: var(--color-bg-voices);
    display: flex;
    justify-content: center;
}

/* 背景レイヤー本体（全幅） */
.cta-bg::before {
    --h: 240px;
    /* 背景の高さ */
    --notch: 60px;
    /* 下三角の深さ */
    --radius: 24px;
    /* 角丸 */

    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    /* フルブリード */
    height: var(--h);
    z-index: -1;

    background: #FFF0D8;

    /* 角丸＋中心に向かってV字の切り込み（下三角形） */
    border-radius: var(--radius);
    clip-path: polygon(0 0, 100% 0,
            100% calc(100% - var(--notch)),
            50% 100%,
            0 calc(100% - var(--notch)));
}

/* インナー1000pxを重ねたい場合（任意） */
.cta-bg>* {
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 20px;
}

/* SPで奥ゆかしく浅めに */
@media (max-width: 768px) {
    .cta-bg::before {
        --h: 280px;
        --notch: 36px;
        --radius: 16px;
    }
}


/* --------------------------------------------------------------------------
    セクション VOICE
--------------------------------------------------------------------------*/
.voices {
    background-color: var(--color-bg-voices);
}

.voices__inner {
    max-width: 1000px;
    margin: 0 auto;
    padding: 60px 20px;
}

.voice {
    display: flex;
    align-items: flex-start;
    margin-bottom: 40px;
}

.voice__icon {
    flex: 0 0 100px;
}

.voice__icon img {
    width: 100px;
    border-radius: 50%;
}

.voice__balloon {
    position: relative;
    background: #fff;
    border-radius: 8px;
    padding: 20px;
    margin-left: 20px;
    box-shadow: 6px 6px 0 var(--shadow-box);
    flex: 1;
}

.voice__balloon::before {
    content: "";
    position: absolute;
    left: -20px;
    top: 20px;
    border: 10px solid transparent;
    border-right-color: #fff;
}

.voice--reverse {
    flex-direction: row-reverse;
}

.voice--reverse .voice__balloon {
    margin-left: 0;
    margin-right: 20px;
    box-shadow: -6px 6px 0 var(--shadow-box);
}

.voice--reverse .voice__balloon::before {
    left: auto;
    right: -20px;
    border-right-color: transparent;
    border-left-color: #fff;
}

/* —— 基本は560×315（16:9）。親に合わせて縮むが上限は560×315 —— */
.lg-videos {
    padding: 16px;
    background: #0b0d10;
}

.lg-yt {
    width: 100%;
    max-width: 560px;
    aspect-ratio: 16 / 9;
    margin-inline: auto;
    margin-bottom: 40px;
    border-radius: 12px;
    outline: 1px solid #1a1f24;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .35);
    overflow: hidden;
    background: #000;
}

.lg-yt iframe {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
}

/* --------------------------------------------------------------------------
    セクション consult
--------------------------------------------------------------------------*/

/* セクション余白 */
.consult {
    padding: 48px 0;
}

/* 角丸パネル本体：背景は画像で一発 */
.consult__panel {
    margin: 0 auto;
    max-width: 1000px;
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    background: var(--panel-bg) center/cover no-repeat;
    padding: clamp(24px, 5vw, 56px) clamp(20px, 5vw, 64px) clamp(120px, 10vw, 160px);
}

/* 額縁タイトル：背景に枠画像、中央にテキスト */
.consult__title {
    display: grid;
    place-items: center;
    margin: 8px auto 60px;
    max-width: 760px;
    height: clamp(72px, 9vw, 96px);
    background: var(--title-frame) center/contain no-repeat;
    text-align: center;
}

.consult__title-text {
    font-size: clamp(22px, 2.6vw, 34px);
    line-height: 1.3;
    color: var(--color-text);
}

/* チェック付きリスト */
.consult__list {
    font-size: clamp(16px, 2.6vw, 18px);
    list-style: none;
    margin: 0 auto;
    padding: 0;
    display: grid;
    gap: 16px;
    color: var(--text);
    max-width: 500px;
}

.consult__list li,
.consult__list--2 li {
    position: relative;
    line-height: 1.9;
    padding-left: 44px;
    /* アイコン分のインデント */
}

.consult__list li::before,
.consult__list--2 li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .35em;
    /* 行頭の高さに揃える */
    width: 28px;
    height: 28px;
    background: var(--check) center/contain no-repeat;
}

/* 人物イラストのオーバーラップ配置 */
.consult__illust {
    position: absolute;
    left: 5px;
    bottom: 5px;
    width: clamp(140px, 18vw, 200px);
    margin: 0;
}

.consult__illust img {
    display: block;
    width: 100%;
    height: auto;
}

/* SP対応：パネルを詰め、イラストは下に退避 */
@media (max-width: 768px) {
    .consult__panel {
        padding: 24px 16px 24px;
    }

    .consult__illust {
        position: static;
        width: 44%;
        margin-top: 12px;
    }
}

/* --------------------------------------------------------------------------
    セクション CTA
--------------------------------------------------------------------------*/
.cta {
    position: relative;
    padding: clamp(40px, 6vw, 72px) 0 clamp(56px, 8vw, 96px);
    z-index: 0;
}

.cta::before {
    content: "";
    position: absolute;
    inset: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100dvw;
    /* 全幅フルブリード */
    background: var(--cta-bg) center/cover no-repeat;
    z-index: -1;
}

.cta__cards {
    display: flex;
    justify-content: center;
    gap: 60px;
}

.cta-card--phone {
    position: relative;
}

.cta-card--phone::before {
    position: absolute;
    content: "＼ お急ぎの方はお電話ください ／";
    top: -25px;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
    display: inline-block;
    /* 内容幅にフィット */
    white-space: nowrap;
}

/* ベース：クリック感と初期のうっすら影 */
.cta-card {
    display: inline-block;
    cursor: pointer;
}

.cta-card__icon {
    display: flex;
    justify-content: center;
    line-height: 0;
}

.cta-card__icon img {
    display: block;
    height: auto;
    transition: transform .18s ease, filter .18s ease;
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .16));
    user-select: none;
}

/* ホバー：ふわっとリフト（PCのみ） */
@media (hover:hover) {
    .cta-card:hover .cta-card__icon img {
        transform: translateY(-4px) scale(1.03);
        filter: drop-shadow(0 10px 22px rgba(0, 0, 0, .20));
    }
}

.cta-card:active .cta-card__icon img {
    transform: translateY(-1px) scale(.98);
    filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .18));
}

.cta-card:focus-visible {
    outline: none;
}

.cta-card:focus-visible .cta-card__icon img {
    outline: 3px solid rgba(233, 180, 70, .55);
    outline-offset: 6px;
}

/* モバイルは影少し控えめ（画面が狭く濃い影がうるさいため） */
@media (max-width: 480px) {
    .cta-card__icon img {
        filter: drop-shadow(0 3px 8px rgba(0, 0, 0, .14));
    }
}

/* --------------------------------------------------------------------------
    セクション FAQ
--------------------------------------------------------------------------*/
.faq {
    position: relative;
    padding: clamp(32px, 5vw, 56px) 0;
    z-index: 0;
}

.faq::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100dvw;
    inset-block: 0;
    background: #EDF6FF;
    z-index: -1;
}

.faq__inner {
    max-width: 1000px;
    margin: 0 auto;
}

/* 共通色・半径 */
:root {
    --ink: #143a63;
    /* ブルー（線・文字） */
    --muted: #6b7580;
    /* 補助文字 */
    --card: #fff;
    /* カード白 */
    --radius: 14px;
}

/* ブロック間隔 */
.qa {
    display: block;
}

.qa+.qa {
    margin-top: clamp(36px, 6vw, 56px);
}

/* ===== 2) Qバナー（左ノッチ帯） ===== */
.qa__q {
    display: flex;
    align-items: flex-start;
    margin-bottom: 40px;
}

.qa__icon {
    flex: 0 0 100px;

}

.qa__icon img {
    width: 100px;
    border-radius: 50%;
}

.qa__balloon--q {
    position: relative;
    background: #fff;
    border-radius: 8px;
    padding: 40px;
    padding-left: 60px;
    margin-left: 20px;
    box-shadow: 6px 6px 0 var(--shadow-box--faq);
    width: fit-content;
}

/* 左ノッチ（三角） */
.qa__balloon--q::before {
    content: "";
    position: absolute;
    left: -20px;
    top: 20px;
    border: 10px solid transparent;
    border-right-color: #fff;
}

.qa__mark--q {
    font-size: 32px;
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-weight: 700;
    color: #FFAE31;
}

/* ===== 3) Aカード（白＋濃青の縁影） ===== */
.qa__a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 50px;
    margin-bottom: 50px;
}

.qa__balloon--a {
    position: relative;
    background: var(--card);
    border-radius: var(--radius);
    padding: 52px 70px;
    line-height: 1.9;
    box-shadow: -6px 6px 0 var(--shadow-box--faq);
}

/* 右ノッチ（三角） */
.qa__balloon--a::before {
    content: "";
    position: absolute;
    right: -20px;
    top: 20px;
    border: 10px solid transparent;
    border-left-color: #fff;
}

.qa__mark--a {
    font-size: 32px;
    position: absolute;
    left: 16px;
    top: 32px;
    font-weight: 700;
    color: #E60615;
    /* A.の赤 */
}

/* ===== 4) 右丸アイコンの重ね ===== */
.qa__icon--right {}

.qa__icon--right img {
    width: 100px;
    border-radius: 50%;
}


/* --------------------------------------------------------------------------
    セクション consult--2
--------------------------------------------------------------------------*/
.consult__panel--2 {
    margin: 0 auto;
    max-width: 1000px;
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    background: var(--panel-bg) center/cover no-repeat;
    padding: clamp(24px, 5vw, 56px) clamp(20px, 5vw, 64px) clamp(120px, 10vw, 160px);
}

.section__title--consult {
    font-size: 2.4rem;
    background: url(../img/img-soudan-section01-title.svg) center/contain no-repeat;
    padding: 2rem 3rem;
    margin: 3rem auto;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 150px;
    font-weight: bold;
}

/* チェック付きリスト */
.consult__list--2 {
    font-size: clamp(16px, 2.6vw, 18px);
    list-style: none;
    margin: 0 auto;
    padding: 0;
    display: grid;
    gap: 16px;
    color: var(--text);
    max-width: 600px;
}

.consult__list li {
    position: relative;
    line-height: 1.9;
    padding-left: 44px;
}

.consult__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .35em;
    width: 28px;
    height: 28px;
    background: var(--check) center/contain no-repeat;
}

/* 人物イラストのオーバーラップ配置 */
.consult__illust--2 {
    position: absolute;
    right: 5px;
    bottom: 5px;
    width: clamp(140px, 18vw, 200px);
    margin: 0;
}

.consult__illust img {
    display: block;
    width: 100%;
    height: auto;
}

/* --------------------------------------------------------------------------
    セクション methods
--------------------------------------------------------------------------*/
.methods {
    position: relative;
    z-index: 0;
    padding: clamp(40px, 6vw, 72px) 0;
}

.methods::before {
    content: "";
    position: absolute;
    inset-block: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100dvw;
    background: #F7E7C8;
    z-index: -1;
}

/* 見出し */
.methods__header {
    text-align: center;
    margin-bottom: clamp(20px, 3vw, 36px)
}

.methods__title {
    margin-bottom: 55px;
    font-size: clamp(22px, 3.2vw, 38px);
    position: relative;
    font-weight: bold;
}

.methods__title::after {
    position: absolute;
    content: "";
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: url(../img/title_btm_bg.png) center/contain no-repeat;
    aspect-ratio: 240 / 12;
    height: 10px;
    width: 10%;
}

.methods__lead {
    margin: 0;
    font-size: clamp(16px, 1.6vw, 18px)
}

/* 3カードのグリッド */
.methods__cards {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(3, 1fr);
}

/* カード最小 */
.method-card {
    position: relative;
    text-align: center;
    background: #fff;
    border-radius: 16px;
    padding: 24px;
}

.method-card__badge {
    position: absolute;
    left: -8px;
    top: -8px;
    width: 84px;
    height: auto;
}

.method-card__thumb {
    width: min(220px, 80%);
    aspect-ratio: 1/1;
    margin: 0 auto 16px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    outline: 2px solid #E4A243;
    /* 外周のオレンジ輪郭 */
}

.method-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%
}

.method-card__title {
    margin: 6px 0 8px;
    font-weight: 700;
    font-size: 24px;
}

.method-card__desc {
    margin: 0;
    text-align: left;
    padding-left: 0.5rem;
}



/* --------------------------------------------------------------------------
    セクション FLOW
--------------------------------------------------------------------------*/
.flow {
    padding: 100px 0;
}

.flow__header {
    text-align: center;
    margin-bottom: 20px;
    ;
}

.flow__title {
    margin-bottom: 55px;
    font-size: clamp(22px, 3.2vw, 36px);
    color: #3a2d1c;
    position: relative;
    font-weight: bold;
}

.flow__title::after {
    position: absolute;
    content: "";
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: url(../img/title_btm_bg.png) center/contain no-repeat;
    aspect-ratio: 240 / 12;
    height: 10px;
    width: 10%;
}

.flow__lead {
    margin: 0;
    font-size: 16px;
}

/* ▼ パネル全体：角丸＋3色背景（斜めセパレータは疑似要素） */
.flow__panel {
    --cut: 30px;
    --left: #FFF0D8;
    --mid: #F5DFBB;
    --right: #F4C57A;

    position: relative;
    border-radius: 16px;
    overflow: hidden;
    padding: clamp(24px, 4vw, 36px);
    background: var(--left);
}

/* 中央ブロック（左右とも斜め） */
.flow__panel::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--mid);
    clip-path: polygon(33.333% 0, 66.666% 0,
            calc(66.666% + var(--cut)) 50%,
            66.666% 100%, 33.333% 100%,
            calc(33.333% + var(--cut)) 50%);
}

/* 右ブロック（左が斜め） */
.flow__panel::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--right);
    clip-path: polygon(66.666% 0, 100% 0, 100% 100%,
            66.666% 100%, calc(66.666% + var(--cut)) 50%);
}

.flow__grid {
    position: relative;
    z-index: 1;
    display: grid;
    gap: clamp(16px, 3vw, 24px);
    grid-template-columns: repeat(3, 1fr);
}

.flow__item {
    text-align: center;
    color: #4a4036;
}

.flow__thumb {
    margin: 0 auto 12px;
    width: min(220px, 70%);
    aspect-ratio: 1/1;
    border-radius: 50%;
    background: #fff;
    display: grid;
    place-items: center;
    outline: 2px solid #E4A243;
}

.flow__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%
}

.flow__item-title {
    font-size: 24px;
    margin: 10px 0 8px;
    font-weight: 700;
    color: #3a2d1c
}

.flow__item-desc {
    margin: 0;
    line-height: 1.9;
    padding-left: 0.5rem;
    text-align: left;
}



/* --------------------------------------------------------------------------
    セクション FAQ-2
--------------------------------------------------------------------------*/
.voices--2 {
    background-color: var(--color-bg-cta);
}

/* --------------------------------------------------------------------------
    MW WP Form お問い合わせフォーム
--------------------------------------------------------------------------*/
/* ========== layout ========== */
.mwf-form {
    max-width: 1000px;
    margin: 0 auto;
}

.mwf-head {
    margin: 100px 0;
    font-size: clamp(22px, 3.2vw, 36px);
    color: #3a2d1c;
    position: relative;
    font-weight: bold;
    text-align: center;
}

.mwf-head::after {
    position: absolute;
    content: "";
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: url(../img/title_btm_bg.png) center/contain no-repeat;
    aspect-ratio: 240 / 12;
    height: 10px;
    width: 10%;
}

.mwf-list {
    display: grid;
    grid-template-columns: 220px 1fr;
    /* 左=ラベル / 右=入力 */
    gap: 16px 24px;
    /* 行 / 列の間隔 */
    align-items: start;
    font-size: 18px;
}

.mwf-list dt {
    text-align: right;
    padding-top: .6em;
    /* 行頭が揃うよう微調整 */
    white-space: nowrap;
}

.mwf-list dd {
    min-width: 0;
}

/* 長文でのはみ出し防止 */
/* 入力は“容器の幅に従え” */
.mwf-field input[type="text"],
.mwf-field input[type="tel"],
.mwf-field input[type="email"],
.mwf-field textarea {
    width: 100%;
    max-width: 100%;
    inline-size: 100%;
    min-width: 0;
}

/* ========== fields ========== */
.mwf-list dd:has(input[type="radio"]) {
    display: flex;
    justify-content: space-around;
    gap: 12px;
    flex-wrap: wrap;
    text-align: left;
}

/* ラベルの見栄え微調整（MW WP Formの出力想定） */
.mwf-list dd:has(input[type="radio"]) .mwform-radio-field {
    display: inline-flex;
    align-items: center;
    gap: .4em;
    margin: 0 .6em;
}

.mwf-list dd input[type="text"],
.mwf-list dd input[type="email"],
.mwf-list dd input[type="tel"],
.mwf-list dd textarea,
.mwf-list dd select {
    padding: .6em .8em;
    border: 1px solid #d0d6dd;
    border-radius: 8px;
    background: #FBFBFB;
    box-shadow: inset 0 1px 0 rgba(0, 0, 0, .03);
}

.mwf-list dd textarea {
    min-height: 8rem;
    resize: vertical;
}

/* MW WP Form のエラー出力 */
.mwform-error {
    color: #d33;
    font-size: .85em;
    margin-top: .4em;
    display: block;
}

/* ========== required badge ========== */
.mwf-req {
    display: inline-block;
    margin-left: .5em;
    padding: .15em .6em;
    font-size: .75em;
    line-height: 1;
    border-radius: 9999px;
    color: #E60615;
    /* 赤 */
    vertical-align: middle;
}

/* ========== actions / buttons ========== */
.mwf-actions {
    margin-top: 24px;
    display: flex;
    gap: 12px;
    justify-content: center;
}

.mwf-actions input[type="submit"],
.mwf-actions button {
    -webkit-appearance: none;
    appearance: none;
    display: inline-block;
    border: 0;
    padding: 0;
    width: 440px;
    height: 100px;
    background: url("../img/btn-submit.jpg") no-repeat center / 100% 100%;
    cursor: pointer;

    /* テキストは隠す（読み上げは残る） */
    color: transparent;
    font-size: 0;
    letter-spacing: 0;
}

/* ホバー時は少しだけ明るく */
@media (hover:hover) {
    .mwf-actions input[type="submit"]:hover {
        filter: brightness(1.05);
    }
}

/* アクティブ時の押し込み感 */
.mwf-actions input[type="submit"]:active {
    filter: brightness(.95);
}

/* キーボード操作の輪郭 */
.mwf-actions input[type="submit"]:focus-visible {
    outline: 3px solid rgba(167, 116, 31, .35);
    outline-offset: 3px;
}

.mwf-field .mwform-tel-field {
    display: inline-flex;
    align-items: center;
    column-gap: 8px;
    inline-size: 100%;
    min-width: 0;
    flex-wrap: nowrap;
}

.mwf-complete {
    text-align: center;
    padding: 24px 16px;
}

.mwf-complete p {
    margin: 0 0 12px;
}

/* SPは全幅にしたい場合 */
@media (max-width:768px) {
    .mwf-actions {
        justify-content: stretch;
    }

    .mwf-actions input[type="submit"] {
        width: 100%;
    }

    .mwf-field.mwf-inline {
        --tel-box: 5.8ch;
        column-gap: 6px;
    }
}

/* ========== responsive (≤768px: 1カラム) ========== */
@media (max-width:768px) {
    .mwf-list {
        grid-template-columns: 1fr;
        gap: 10px 0;
    }

    .mwf-list dt {
        text-align: left;
        padding-top: 0;
    }

    .mwf-actions {
        justify-content: stretch;
    }

    .mwf-actions input[type="submit"],
    .mwf-actions button {
        width: 100%;
    }
}

/* 動き配慮 */
@media (prefers-reduced-motion: reduce) {
    * {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}



/* --------------------------------------------------------------------------
    レスポンシブ対応　ブレークポイント　768px
--------------------------------------------------------------------------*/
@media (max-width: 768px) {
    .br--pc {
        display: none;
    }

    .br--sp {
        display: inline;
    }

    .kv {
        min-height: 200px;
    }

    .kv__inner {
        max-width: 1000px;
        min-height: 200px;
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    picture {
        display: flex;
        justify-content: center;
    }

    .container {
        padding: 0 20px;
    }

    .section__title {
        font-size: 1.5rem;
        padding: 1rem;
        margin: 3rem auto;
    }

    .section__title--consult {
        font-size: 1.5rem;
        background: url(../img/img-soudan-section02-titleSP.svg) center/contain no-repeat;
        padding: 1rem;
        margin: 0 auto 40px;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 150px;
    }

    .voice {
        flex-direction: column;
        align-items: center;
        gap: 16px;
    }

    .voice__balloon {
        position: relative;
        background: #fff;
        border-radius: 8px;
        padding: 20px;
        margin-left: 0;
        box-shadow: 0px 6px 0 var(--shadow-box);
        flex: 1;
    }

    .voice__balloon::before {
        content: none;
    }

    .voice--reverse {
        flex-direction: column;
    }

    .voice--reverse .voice__balloon {
        margin-left: 0;
        margin-right: 0;
        box-shadow: 0px 6px 0 var(--shadow-box);
    }

    .voice--reverse .voice__balloon::before {
        left: auto;
        right: -20px;
        border-right-color: transparent;
        border-left-color: #fff;
    }

    .lg-videos { padding: 12px; }
    .lg-yt { max-width: 100%; border-radius: 10px; }

    .cta__cards {
        flex-direction: column;
    }

    .faq {
        padding: 20px;
    }

    .qa__q {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 20px;
    }

    .qa__a {
        flex-direction: column-reverse;
    }

    .qa__balloon--q {
        position: relative;
        background: #fff;
        border-radius: 8px;
        padding: 40px;
        padding-left: 60px;
        margin-left: 0px;
        box-shadow: 0px 6px 0 var(--shadow-box--faq);
        width: fit-content;
    }

    /* 左ノッチ（三角） */
    .qa__balloon--q::before {
        content: none;
    }

    .qa__mark--q {
        font-size: 32px;
        position: absolute;
        left: 16px;
        top: 50%;
        transform: translateY(-50%);
        font-weight: 700;
        color: #FFAE31;
    }

    /* ===== 3) Aカード（白＋濃青の縁影） ===== */
    .qa__a {
        position: relative;
        display: flex;
        align-items: center;
        gap: 20px;
        margin-bottom: 50px;
    }

    .qa__balloon--a {
        position: relative;
        background: var(--card);
        border-radius: var(--radius);
        padding: 52px 40px;
        padding-left: 60px;
        line-height: 1.9;
        box-shadow: 0px 6px 0 var(--shadow-box--faq);
    }

    /* 右ノッチ（三角） */
    .qa__balloon--a::before {
        content: none;
    }

    .qa__mark--a {
        font-size: 32px;
        position: absolute;
        left: 16px;
        top: 32px;
        font-weight: 700;
        color: #E60615;
        /* A.の赤 */
    }

    /* ===== 4) 右丸アイコンの重ね ===== */
    .qa__icon--right {}

    .qa__icon--right img {
        width: 100px;
        border-radius: 50%;
    }

    .flow__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .flow__grid {
        grid-template-columns: 1fr;
    }

    /* ▼ パネル全体：角丸＋3色背景（斜めセパレータは疑似要素） */
    .flow__panel {
        --cut: 0px;
        --left: #FFF0D8;
        --mid: #F5DFBB;
        --right: #F4C57A;

        position: relative;
        border-radius: 16px;
        overflow: hidden;
        padding: clamp(24px, 4vw, 36px);
        background: var(--mid);
    }

    /* 中央ブロック（左右とも斜め） */
    .flow__panel::before {
        content: "";
        position: absolute;
        inset: 0;
        background: var(--mid);
        clip-path: polygon(33.333% 0, 66.666% 0,
                calc(66.666% + var(--cut)) 50%,
                66.666% 100%, 33.333% 100%,
                calc(33.333% + var(--cut)) 50%);
    }

    /* 右ブロック（左が斜め） */
    .flow__panel::after {
        content: "";
        position: absolute;
        inset: 0;
        background: var(--mid);
        clip-path: polygon(66.666% 0, 100% 0, 100% 100%,
                66.666% 100%, calc(66.666% + var(--cut)) 50%);
    }

    .methods__cards {
        grid-template-columns: repeat(2, 1fr)
    }

    .methods__cards {
        grid-template-columns: 1fr
    }

    .consult__illust--2 {
        transform: scale(0.8);
        bottom: 0;
    }

    .mwf-list {
        display: grid;
        grid-template-columns: 1fr;
        /* 左=ラベル / 右=入力 */
        gap: 16px 24px;
        /* 行 / 列の間隔 */
        align-items: start;
        font-size: 18px;
    }

    .mwf-actions input[type="submit"],
    .mwf-actions button {
        transform: scale(0.7);
    }

    .mwf-list dd:has(input[type="radio"]) {
        flex-direction: column;
        padding-left: 1.5rem;
    }

}