@charset "utf-8";

/* =========================================================
   First Visit pages: scoped typography + layout
   Scope: .pFirstVisit__main
   Notes:
   - リセットCSSの影響（font-weight / list-style / box-sizing 等）を前提に復元
   - section-1（最初のh2〜症状リスト〜最初のCTA）を重点的に調整
   ========================================================= */

/* -----------------------------------------------------------------
   0) Box model reset (inside the scope only)
----------------------------------------------------------------- */
.pFirstVisit__main *,
.pFirstVisit__main *:before,
.pFirstVisit__main *:after {
    box-sizing: border-box;
}

/*-----------------------------------------------*
 * カスタムプロパティ
 *-----------------------------------------------*/

:root {
    /* カラー（控えめな青系） */
    --fv-accent: #2f6ea8;
    --fv-border: rgba(0, 0, 0, 0.14);
    --fv-soft: #666666;
    --fv-vertical-margin: clamp(0px, 7vw, 28px);
    --fv-vertical-margin-small:  clamp(0px, 3.5vw, 14px);
    --fv-vertical-margin-large:  clamp(0px, 10vw, 40px);
    --fv-vertical-margin-x-large:  clamp(0px, 21vw, 84px);
    --fv-green: #507d36;        /* リード本文 */
    --fv-green-light: #77b255;  /* リードチェック, リードボーダー, ボタンボーダー */
    --fv-green-deep: #046f3f;   /* リード見出し, ボタンアイコン, ボタン本文 */
    --fv-green-pale: #f2ffda;   /* ボタン背景 */
    --fv-green-pale2: #e5ffb7;  /* ボタン hover時背景 */
    --fv-green-pale3: #bce768;  /* ボタン hover時シャドー */
    --fv-green-vivid: #0cca74;
    --fv-green-vivid2: #00a55a;

    --fv-red: #df7280;

    --fv-blue: #006ab5;        /* リード本文 */
    --fv-blue-light: #5694b3;  /* リードチェック, リードボーダー, ボタンボーダー */
    --fv-blue-deep: #0087e8;   /* リード見出し, ボタンアイコン, ボタン本文 #3B88C3 */
    --fv-blue-dark: #00377b;    /* 本サイトのテーマカラー */
    --fv-blue-pale: #e5f6ff;   /* ボタン背景 */
    --fv-blue-pale2: #d6f1ff;  /* ボタン hover時背景 */
    --fv-blue-pale3: #b9e7ff;  /* ボタン hover時シャドー */
    --fv-blue-vivid: #0078ab;   /* 時間表の[土] */

    --fv-violet: #613cae;
    --fv-violet-pale: #e1d5ff;

    --fv-purple: #b544b2;
    --fv-purple-pale: #f8ebff;
    --fv-purple-pale2: #d1b1e6;
    --fv-purple-light: #c381c1;

    --fv-green-oval-gradient: radial-gradient(ellipse at center, var(--fv-green-vivid) 0%, var(--fv-green-vivid2) 100%);
    --fv-green-vertical-gradient: linear-gradient(to top, var(--fv-green-vivid) 0%, var(--fv-green-vivid2) 100%);
    --fv-blue-gradient: linear-gradient(to right, var(--fv-blue) 50%, var(--fv-blue-light));
    --fv-green-gradient: linear-gradient(to right, var(--fv-green) 50%, var(--fv-green-light));
    --fv-purple-gradient: linear-gradient(to right, var(--fv-purple) 50%, var(--fv-purple-pale2));



    /* section-1 */
    --fv-s1-card-bg: rgba(47, 110, 168, 0.06);
    --fv-s1-card-border: rgba(47, 110, 168, 0.18);
    --fv-s1-cta-bg: rgba(47, 110, 168, 0.09);
    --fv-s1-cta-border: rgba(47, 110, 168, 0.28);

    --fv-radius: clamp(4px, 3.2vw, 14px);

}

/*-----------------------------------------------*
 * Heading Wrapper
 *-----------------------------------------------*/
#page-title-wrap.first-visit,
#page-title-wrap.organize-your-symptoms,
#page-title-wrap.psychosmatic-care,
#page-title-wrap.cosmetic-acupuncture {
    margin-bottom: clamp(1px, 6vw, 24px);
}

#page-title-wrap.first-visit #page-title,
#page-title-wrap.organize-your-symptoms #page-title,
#page-title-wrap.psychosmatic-care #page-title,
#page-title-wrap.cosmetic-acupuncture #page-title {
    padding: clamp(1px, 8vw, 32px) 0;
}

#page-title-wrap.first-visit {
    background: var(--fv-green-vertical-gradient);
}

#page-title-wrap.organize-your-symptoms,
#page-title-wrap.psychosmatic-care {
    background: var(--fv-green-gradient);
}

#page-title-wrap.chronic-physical-care {
    background: var(--fv-blue-gradient);
}

#page-title-wrap.cosmetic-acupuncture {
    background: var(--fv-purple-gradient);
}

/* -----------------------------------------------------------------
   1) Layout + base typography (ページ全体の“見た目のルール”)
----------------------------------------------------------------- */
.pFirstVisit__main {

    /* センタリング + 最大幅 */
    margin-left: auto;
    margin-right: auto;
    max-width: 860px;

    /* 横のガター（スマホ〜PC） */
    padding-left: clamp(16px, 4vw, 28px);
    padding-right: clamp(16px, 4vw, 28px);

    /* 文字組み */
    font-size: 18px;
    line-height: 1.6;
    color: #111;
}

/* 見出し末尾の「空のaタグ」が改行・高さズレの原因になりやすいので無効化 */
.pFirstVisit__main .wp-block-heading > a:empty {
    display: none !important;
}

/* -----------------------------------------------------------------
   2) “リセット解除”：段落・リストの余白と可読性
----------------------------------------------------------------- */
.pFirstVisit__main p {
    margin: 0 0 1.05rem
}
.pFirstVisit__main p:last-child {
    margin-bottom: 0;
}

/* list-style が消されているケースがあるため、disc を復活 */
.pFirstVisit__main ul,
.pFirstVisit__main ol {
    margin: 0 0 1.1rem;
    padding-left: 1.35rem; /* リセットで 0 の場合に備える */
}
.pFirstVisit__main ul {
    list-style-type: disc;
}
.pFirstVisit__main li {
    margin: 0.25rem 0;
    line-height: 1.75; /* 長文 li の行間が詰まるテーマ対策 */
}


/* hr（必要に応じて復活させる前提） */
.pFirstVisit__main hr.wp-block-separator {
    margin: 2.0rem 0;
    opacity: 0.55;
}

/* strong（テーマにより太字が無効化される場合の保険） */
.pFirstVisit__main strong {
    font-weight: 700;
}

/* -----------------------------------------------------------------
   3) Headings（リセットCSSで font-weight が normal になる前提で復元）
----------------------------------------------------------------- */
.pFirstVisit__main .wp-block-heading {
    line-height: 1.35;
    font-weight: 700; /* 見出しは基本 bold */
}

.pFirstVisit__main h2.wp-block-heading {
    /*margin: 2.0rem 0 0.8rem;*/
    font-size: 1.45rem;
}
.pFirstVisit__main h3.wp-block-heading {
    margin: 1.6rem 0 0.7rem;
    font-size: 1.2rem;
}
.pFirstVisit__main h4.wp-block-heading {
    margin: 1.25rem 0 0.6rem;
    font-size: 1.05rem;
}

/*-----------------------------------------------*
 * H2 見出し
 *-----------------------------------------------*/

.pFirstVisit__heading {
    margin-left: clamp(-28px, -4vw, -16px);
    background: linear-gradient(88deg, #b6cfed, transparent);
    margin-right: clamp(-28px, -4vw, -16px);
    padding: clamp(10px, 4vw, 16px) 0;
    color: var(--fv-blue-dark);
    text-shadow: 1px 1px 2px #a2ccff;
    border-top: 9px solid;
    position: relative;
    text-align: center;
    margin-top: clamp(40px, var(--fv-vertical-margin-large), 65px);
    margin-bottom: clamp(20px, var(--fv-vertical-margin), 40px);
}

.pFirstVisit__numbering {
    position: absolute;
    top: -30px;
    left: 10px;
    display: flex;
    width: 40px;
    height: 40px;
    text-align: center;
    background: white;
    align-items: center;
    justify-content: space-around;
    border: 2px solid #00377b;
    box-shadow: 2px 2px 3px #3072c5;
    border-radius: var(--fv-radius);
    font-size: 24px;
    font-weight: 700;
    font-style: italic;
    font-family: serif;

    /* 中止 */
    display: none;
    visibility: hidden;
}


/*-----------------------------------------------*
 * 3-2) イラスト付き見出し
 * 右上にイラスト表示
 *-----------------------------------------------*/

@media (max-width: 600px) {
    .pFirstVisit__main .pFirstVisit__heading--withPic {
        text-align: left;
        padding-left: 24vw;
    }
    .pFirstVisit__heading--withPic::before {
        content: '';
        display: block;
        position: absolute;
        top: 10%;
        right: 2.5%;
        width: 95%;
        height: 80%;
    }
    .pFirstVisit__heading--01::before {
        background: transparent url("https://www.asada-shinkyu.jp/wp-content/uploads/2026/02/tired-woman-clipped.png") right center no-repeat;
        background-size: contain;
        transform: scale(-1, 1);
    }
    .pFirstVisit__headingB {
        display: block;
    }
    .pFirstVisit__headingB--ellipses {
        position: relative;
        display: inline-block;
    }
    .pFirstVisit__headingB--ellipses::after {
        content: "...";
        position: absolute;
        display: inline-block;
        right: -1.5em;
    }
    .pFirstVisit__headingIB--ml {
        margin-left: 16vw;
    }
}

/* -----------------------------------------------------------------
   4) Links：本文リンクとCTAリンクで差をつける
----------------------------------------------------------------- */
.pFirstVisit__main a {
    text-underline-offset: 0.18em;
    text-decoration-thickness: from-font;
}

/* 段落に単独で置いている導線を“ボタン化” */
.pFirstVisit__main p > a[href*="/first-visit/"] {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;

    padding: 0.72rem 1.0rem;
    border-width: 1px;
    border-style: solid;
    box-shadow: inset -4px -4px 2px var(--fv-green-deep), inset 4px 4px 2px white;
    box-shadow: 4px 4px 2px;

    text-decoration: none;
}

.pFirstVisit__main p > a[href*="/first-visit/"]:hover,
.pFirstVisit__main p > a[href*="/first-visit/"]:focus-visible {
    const(0,0,44,27px);
}

/* ▶（絵文字SVG）の微調整 */
.pFirstVisit__main p > a[href*="/first-visit/"] img.emoji {
    width: 1em;
    height: 1em;
    vertical-align: -0.08em;
}

/* ---------------------------------------------
   TablePress（診療時間テーブル）
   - table を block にしない（列伸長のため）
--------------------------------------------- */

/* ガターを変数化（既存の clamp と同値） */
.pFirstVisit__main {
    --fv-gutter: clamp(16px, 4vw, 28px);
}

/* テーブル本体：列を「固定レイアウト」で均等配分 */
.pFirstVisit__main table.tablepress {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: fixed;
    background: #fff;
    margin: 0.6rem 0 1.0rem;
}

/* 外周＋各セルのボーダー */
.pFirstVisit__main table.tablepress th,
.pFirstVisit__main table.tablepress td {
    border: 1px solid var(--fv-s1-card-border);
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
}

/* 見出し行を少し強めに */
.pFirstVisit__main table.tablepress thead th {
    font-weight: 700;
}

/* 先頭列（「時間/午前/午後」）は少しだけ強調 */
.pFirstVisit__main table.tablepress th:first-child,
.pFirstVisit__main table.tablepress td:first-child {
    font-weight: 700;
}

.pFirstVisit__timeTable th.column-2,
.pFirstVisit__timeTable th.column-9 {
    color: var(--fv-red);
}
.pFirstVisit__timeTable th.column-8 {
    color: var(--fv-blue-vivid);
}

/* スマホ：左右いっぱいにストレッチ（フルブリード）＋文字/余白を vw で */
@media (max-width: 600px) {
    .pFirstVisit__main table.tablepress {
        width: calc(100% + (var(--fv-gutter) * 2));
        font-size: 3.6vw;
    }

    .pFirstVisit__main table.tablepress th,
    .pFirstVisit__main table.tablepress td {
        padding: 2.2vw 0;
    }

    /* 先頭列だけ少し幅を確保（残り列が均等に伸びる） */
    .pFirstVisit__main table.tablepress th:first-child,
    .pFirstVisit__main table.tablepress td:first-child {
        width: 18vw;
    }
}

/* =========================================================
   section-1（最初のh2〜症状リスト〜最初のCTA）
   - 見出しは「極力改行させない」前提で vw を主に使用
   ========================================================= */

/* ---- section-1 : h2 ---- */
.pFirstVisit__main > h2.wp-block-heading:first-of-type {
    margin-top: 0;
}

/* ---- section-1 : 症状リスト（h2直後のul） ---- */
.pFirstVisit__main .wp-block-list,
.pFirstVisit__dl {
    background: var(--fv-s1-card-bg);
    border: 1px solid var(--fv-s1-card-border);
    border-radius: var(--fv-radius);
    margin: var(--fv-vertical-margin) 0;
    padding: 0.95rem 1.0rem 0.95rem 2.1rem;
}
.pFirstVisit__dt {
    display: block;
    background: #d9edf7;
    margin: 1.5rem 0 0.75rem -1.5rem;
    padding: 0.25rem 1rem;
    font-weight: 700;
}
.pFirstVisit__dt:first-child {
    margin-top: 0;
}
.pFirstVisit__dd {
    display: block;
    margin: 0.55rem 0;
    line-height: 1.4;
}
.pFirstVisit__dd--li {
    position: relative;
    display: list-item;
    margin: 0.55rem 0 0.55rem 1.5rem;
    line-height: 1.4;
    list-style: none;
}
.pFirstVisit__dd--li::before {
    position: absolute;
    top: 2vw;
    left: -5vw;
    display: block;
    width: 3vw;
    height: 3vw;
    content: "";
    background: url(../includes/svg/blue-triangle-right.svg) no-repeat center;
}

/* マーカーをアクセント色に */
.pFirstVisit__main .wp-block-list li::marker {
    color: var(--fv-accent);
}



/* リスト項目：項目間の余白（行間と差を付ける） */
.pFirstVisit__main .wp-block-list li {
    margin: 0.55rem 0;
    line-height: 1.6;
}

/*-----------------------------------------------*
 * CTA
 *-----------------------------------------------*/

/* ---- section-1 : 最初のCTA（「整理してみる」） ---- */
.pFirstVisit__main .pFirstVisit__cta {
    margin: 40px 0;
}

.pFirstVisit__main .pFirstVisit__cta > a {
    background: var(--fv-green-pale);
    border-color:  var(--fv-green-light);
    color: var(--fv-green-deep);
    border-radius: 100px;

    /* 触り心地（主にモバイル向け） */
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);

    letter-spacing: 1.5px;
}

.pFirstVisit__main .pFirstVisit__cta--to1st > a {
    color: var(--fv-green-vivid2);
}

.pFirstVisit__main .pFirstVisit__cta--blue > a {
    background: var(--fv-blue-pale);
    border-color: var(--fv-blue);
    color: var(--fv-blue-deep);
}

.pFirstVisit__main .pFirstVisit__cta > a:hover,
.pFirstVisit__main .pFirstVisit__cta > a:focus-visible {
    background: var(--fv-green-pale2);
    box-shadow: none;
    text-shadow: 2px 2px 2px var(--fv-green-pale3);
}

@media (max-width: 600px) {
    .pFirstVisit__main .pFirstVisit__cta > a:hover,
    .pFirstVisit__main .pFirstVisit__cta > a:focus-visible {
        margin: -4px 0 4px -4px;
        box-shadow: 8px 8px 4px;
    }
}

.pFirstVisit__main .pFirstVisit__cta > a:hover img.emoji,
.pFirstVisit__main .pFirstVisit__cta > a:focus-visible img.emoji {
    box-shadow: 1px 1px 2px var(--fv-green-deep) !important;
}

.pFirstVisit__main .pFirstVisit__cta--blue > a:hover,
.pFirstVisit__main .pFirstVisit__cta--blue > a:focus-visible {
    background: var(--fv-blue-pale2);
    box-shadow: inset 4px 4px 4px var(--fv-blue-pale3);
    text-shadow: 2px 2px 2px var(--fv-blue-pale3);
}

.pFirstVisit__main .pFirstVisit__cta--blue > a:hover img.emoji,
.pFirstVisit__main .pFirstVisit__cta--blue > a:focus-visible img.emoji {
    box-shadow: 1px 1px 2px var(--fv-blue-deep) !important;
}



.pFirstVisit__map iframe{
    display:block;
    width:100%;
    height:360px;
    border:0;
}

/*-----------------------------------------------*
 * 下部固定CTA
 *-----------------------------------------------*/
.wp-block-buttons>.pFirstVisit__bottomFixedCTA {
    position: fixed;
    bottom: 0;
    right: 0;
    display: block;
    z-index: 1000;
    margin-right: 2vw;
}

/* Override WP */
.pFirstVisit__bottomFixedCTA .wp-block-button__link {
    border: 2px solid #fffa;
    border-bottom: none;
    border-radius: 28px 28px 0 0;
    background-color: #07b948;
}


/*-----------------------------------------------*
 * ユティリティクラス
 *-----------------------------------------------*/
.pFirstVisit__main .pFirstVisit__boldSoft {
    margin-left: 10px;
    margin-right: 10px;
    line-height: 1.6;
}
.pFirstVisit__boldSoft {
    font-weight: 700;
    color: var(--fv-soft);
}

.pFirstVisit__green {
    color: var(--fv-green);
}

.pFirstVisit__greenDeep {
    color: var(--fv-green-deep);
}

.pFirstVisit__greenBorderBottom {
    border-bottom: 2px solid var(--fv-green-light);
}

.pFirstVisit__blue {
    color: var(--fv-blue);
}

.pFirstVisit__blueDeep {
    color: var(--fv-blue-deep);
}

.pFirstVisit__blueBorderBottom {
    border-bottom: 2px solid var(--fv-blue);
}

.pFirstVisit__verticalMargin {
    margin-top: var(--fv-vertical-margin);
    margin-bottom: var(--fv-vertical-margin);
}

.pFirstVisit__mbLarge {
    margin-bottom: 40px !important;
}

.pFirstVisit__nomarker,
.pFirstVisit__nomarker > li {
    list-style: none;
}
ul.pFirstVisit__nomarker {
    padding-left: 1rem !important;
}

.pFirstVisit__radius {
    border: 1px solid silver;
    border-radius: var(--fv-radius);
    overflow: hidden;
}

.pFirstVisit__radiusHalf {
    border: 1px solid silver;
    border-radius: calc(var(--fv-radius) / 2);
    overflow: hidden;
}

/* =========================================================
   Mobile（max-width: 600px）
   - section-1 は vw 主体
   ========================================================= */
@media (max-width: 600px) {
    .pFirstVisit__main {
        line-height: 1.9;
    }

    .pFirstVisit__main h2.wp-block-heading {
        /* font-size: clamp(16px, 4.8vw, 21px); */
	font-size: 5.25vw;
    }

    /* section-1 : 症状リスト（カード） */
    .pFirstVisit__main .wp-block-list,
    .pFirstVisit__dl {
        margin: var(--fv-vertical-margin) 0;

        padding-left: 7.2vw;
        padding-right: 4.2vw;
        padding-top: 3.6vw;
        padding-bottom: 3.6vw;

        border-radius: var(--fv-radius);
    }
    .pFirstVisit__dl {
        padding-top: 6vw;
    }
    .pFirstVisit__dt {
        margin-left: -1rem;
    }

    .pFirstVisit__main > .wp-block-list li {
        margin: 1rem 0;
        line-height: 1.6;
    }

    /* リスト直後の説明文 */
    .pFirstVisit__main p {
        margin: var(--fv-vertical-margin-small) 0;
    }

    .pFirstVisit__main img.emoji {
        margin-right: 10px !important;
    }

    .pFirstVisit__emojiSlim img.emoji {
        margin-right: 0.07em !important;
    }

    /* 最初のCTA（整理してみる）：モバイルで押せるサイズに */
    .pFirstVisit__main .pFirstVisit__cta {
        margin: var(--fv-vertical-margin) 0 var(--fv-vertical-margin-large);
    }

    .pFirstVisit__main .pFirstVisit__cta > a {
        display: flex;
        justify-content: center;
        width: 100%;

        margin: 0;
        padding: 3.2vw 4.2vw;

        line-height: 1.5;
        font-weight: 700;
    }

    .pFirstVisit__main p > a[href*="/first-visit/organize-your-symptoms/"] img.emoji {
        width: 1.05em;
        height: 1.05em;
        vertical-align: -0.06em;
    }

    /* 見出し余白 */
    .pFirstVisit__main h2.wp-block-heading {
        /*margin: var(--fv-vertical-margin-x-large) 0 var(--fv-mobile-vertical-margin);*/
    }
    .pFirstVisit__main h3.wp-block-heading {
        margin: 1.3rem 0 0.6rem;
    }

    .pFirstVisit__map iframe{
        height:280px;
    }

    /*-----------------------------------------------*
     * ユティリティクラス
     *-----------------------------------------------*/
    .pFirstVisit__main .pFirstVisit__mobileInset {
        margin-left: 2.5vw;
        margin-right: 2.5vw;
    }

    .pFirstVisit__mbLarge {
        margin-bottom: var(--fv-vertical-margin-large) !important;
    }

    .pFirstVisit__pcOnly {
        display: none !important;
        visibility: hidden !important;
    }

}

/* ============ first-visit: TablePress（診療時間）スマホ最適化 ============ */
@media (max-width: 600px) {

    /* 1) 右の隙間対策：親要素を画面いっぱいに伸ばす
       - テーブルが <li> の中にある前提（あなたのHTML構造） */
    .pFirstVisit__main .tablepress {
        width: 100%;
        max-width: none;
    }

    /* li（診療時間: ...）の中でテーブルだけを「左右いっぱい」にしたい場合 */
    .pFirstVisit__main li > .tablepress {
        display: block;
        /* コンテナの左右パディング分だけ外へ逃がして“フルブリード”にする */
        margin-left: calc(clamp(16px, 4vw, 28px) * -1);
        margin-right: calc(clamp(16px, 4vw, 28px) * -1);
    }

    /* 2) 外周＆各セルのボーダー（色は指定のCSS変数） */
    .pFirstVisit__main table.tablepress {
        border-collapse: collapse;          /* 罫線を一本化 */
        border-spacing: 0;
        border: 1px solid var(--fv-s1-card-border); /* 外周 */
        table-layout: fixed;                /* 均等に収めやすい */
        width: 100%;
        background: transparent;
    }

    .pFirstVisit__main table.tablepress th,
    .pFirstVisit__main table.tablepress td {
        border: 1px solid var(--fv-s1-card-border); /* 各セル */
        padding: 2.2vw 0;                           /* スマホ向け：縦余白をvw管理 */
        text-align: center;
        vertical-align: middle;
        line-height: 1.2;
    }

    /* TablePressデフォのストライプ/ホバーが邪魔なら無効化（任意） */
    .pFirstVisit__main .tablepress .row-striping tr:nth-child(odd) td,
    .pFirstVisit__main .tablepress .row-striping tr:nth-child(odd) th {
        background: transparent;
    }
}

/*-----------------------------------------------*
 * プロセスリスト
 *-----------------------------------------------*/
.pFirstVisit__main .cProcessList {
    padding: 0;
    text-align: center;
    list-style: none;
    background: no-repeat;
    border: none;
}
.pFirstVisit__main .cProcessList > li {
    display: block;
    width: 100%;
    position: relative;
    margin: var(--fv-vertical-margin) 0 var(--fv-vertical-margin-large);
    padding: clamp(2px, 2vw, 6px);
    border: 2px solid;
    border-radius: calc(var(--fv-radius) / 2);
}
.pFirstVisit__main .cProcessList > li::before {
    content: "▼";
    display: block;
    position: absolute;
    top: clamp(-37px, calc(clamp(20px, var(--fv-vertical-margin), 40px) * -1.3), 0px);
    left: 0;
    right: 0;
    color: #999;
}
/*.pFirstVisit__main .cProcessList > li::after {*/
/*    content: "▼";*/
/*    display: block;*/
/*    position: absolute;*/
/*    bottom: calc(clamp(20px, var(--fv-mobile-vertical-margin), 40px) * -1);*/
/*    left: 0;*/
/*    right: 0;*/
/*    opacity: 0.5;*/
/*}*/
.pFirstVisit__main .cProcessList > li:nth-child(1) {
    color: var(--fv-green);
    background: var(--fv-green-pale);
}
.pFirstVisit__main .cProcessList > li:nth-child(1)::before {
    display: none;
    visibility: hidden;
}
/*.pFirstVisit__main .cProcessList > li:last-child::after {*/
/*    display: none;*/
/*    visibility: hidden;*/
/*}*/
.pFirstVisit__main .cProcessList > li:nth-child(2) {
    color: var(--fv-blue);
    background: var(--fv-blue-pale);
}
.pFirstVisit__main .cProcessList > li:nth-child(3) {
    color: var(--fv-purple);
    background: var(--fv-purple-pale);
}

.pFirstVisit__color--top,
.pFirstVisit__color--top a,
.pFirstVisit__color--top a:visited {
    color: var(--fv-green-vivid2);
}

.pFirstVisit__main ul.pFirstVisit__color--top {
    background: var(--fv-green-pale);
    border-color: var(--fv-green-light);
}

.pFirstVisit__color--green,
.pFirstVisit__color--green a,
.pFirstVisit__color--green a:visited {
    color: var(--fv-green);
}

.pFirstVisit__color--blue,
.pFirstVisit__color--blue a,
.pFirstVisit__color--blue a:visited {
    color: var(--fv-blue);
}

.pFirstVisit__color--purple,
.pFirstVisit__color--purple a,
.pFirstVisit__color--purple a:visited {
    color: var(--fv-purple);
}

.pFirstVisit__strong,
ul.pFirstVisit__strong li {
    font-weight: bold !important;
}

.pFirstVisit__nobg {
    background: none !important;
}

.pFirstVisit__borderL {
    border-width: 6px !important;
}

/*-----------------------------------------------*
 * アクセスマップ画像
 *-----------------------------------------------*/
.pFirstVisit__accessImages {
    display: flex;
    justify-content: space-between;
}
.pFirstVisit__accessImageContainer {
    position: relative;
    display: block;
    width: clamp(20px, 44.5vw, 420px);
    height: clamp(20px, 44.5vw, 420px);
    background: silver;
    border-radius: var(--fv-radius);
    border: 1px solid var(--fv-s1-card-border);
}
.pFirstVisit__accessImageContainer img {
    border-radius: var(--fv-radius);
}
.pFirstVisit__accessImageContainer figcaption {
    position: absolute;
    bottom: 0;
    right: 0;
    display: block;
    padding: 0 3vw 0 2vw;
    font-size: 12px;
    color: white;
    background: #000;
    opacity: 0.5;
    border-bottom-right-radius: var(--fv-radius);
}

/*-----------------------------------------------*
 * 診療情報画像
 *-----------------------------------------------*/
.pFirstVisit__image {
    position: relative;
    width: 100%;
    background: none;
}
.pFirstVisit__image img {
    width: 100%;
    border-radius: var(--fv-radius);
    border: 1px solid silver;
}
.pFirstVisit__image figcaption {
    position: absolute;
    bottom: 0;
    right: 0;
    display: block;
    margin: 0;
    padding: 0 3vw 0 2vw;
    font-size: 12px;
    color: white;
    background: #0008;
    opacity: 0.9;
    border-bottom-right-radius: var(--fv-radius);
}

.pFirstVisit__border--green {
    border-width: 2px;
    border-style: solid;
    border-color: var(--fv-green-light);
}

.pFirstVisit__border--blue {
    border-width: 2px;
    border-style: solid;
    border-color: var(--fv-blue-light);
}

/*-----------------------------------------------*
 * 中見出し
 *-----------------------------------------------*/
.pFirstVisit h3 {
    font-size: 100%;
}

/*-----------------------------------------------*
 * アイコン風画像付き段落 (WP グリッドレイアウト使用)
 *-----------------------------------------------*/
.pFirstVisit__iconicParagraph {
    grid-template-columns: 1fr 4fr;
    gap: 2vw;
}

.pFirstVisit__iconicParagraph p {
    margin: 0;
    line-height: 1.6;
}

/*-----------------------------------------------*
 * マーカー付き画像ブロックリンク
 *-----------------------------------------------*/
.pFirstVisit__linkMarker {}
.pFirstVisit__linkMarker > a {
    position: relative;
    display: block;
}
.pFirstVisit__linkMarker > a::before {
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
    content: " ";
    width: 4.5vw;
    height: 4.5vw;
    background-color: transparent;
}
.pFirstVisit__linkMarker--green > a::before {
    background-image: url("../includes/svg/green-start.svg");
}
.pFirstVisit__linkMarker--blue > a::before {
    background-image: url("../includes/svg/blue-start.svg");
}
.pFirstVisit__linkMarker--purple > a::before {
    background-image: url("../includes/svg/purple-start.svg");
}

/* スクエアマーカーリスト */
/*-----------------------------------------------*
 * スクエアマーカーリスト
 *-----------------------------------------------*/

.cIconList--square {
    list-style: none;
}

.cIconList--square li {
    position: relative;
}

.cIconList--square li::before {
    position: absolute;
    top: clamp(1px, 2vw, 8px);
    left: clamp(-20px, -5vw, -1px);
    display: block;
    width: clamp(1px, 3vw, 12px);
    height: clamp(1px, 3vw, 12px);
    content: "";
    background: var(--fv-accent);
}



/*-----------------------------------------------*
 * チェックマーク付きリスト
 *-----------------------------------------------*/

.pFirstVisit__main .cIconList--checked {
    padding-left: clamp(1px, 11vw, 44px);
    list-style: none;
}
.cIconList--checked li {
    position: relative;
    list-style: none;
}
.cIconList--checked li::before {
    position: absolute;
    top: 0;
    left: clamp(-32px, -8vw, -1px);
    width: clamp(1px, 6vw, 24px);
    height: clamp(1px, 6vw, 24px);
    content: "";
    background: url(../includes/svg/blue-check-4.svg) no-repeat center;
}

/*-----------------------------------------------*
 * ハートマーク付きリスト
 *-----------------------------------------------*/

.pFirstVisit__main .cIconList--heart {
    padding-left: clamp(1px, 11vw, 44px);
    list-style: none;
}
.cIconList--heart li {
    position: relative;
    list-style: none;
}
.cIconList--heart li::before {
    position: absolute;
    top: 0;
    left: clamp(-32px, -8vw, -1px);
    width: clamp(1px, 6vw, 24px);
    height: clamp(1px, 6vw, 24px);
    content: "";
    background: url(../includes/svg/blue-double-hearts-3.svg) no-repeat center;
}

/*-----------------------------------------------*
 * クローバーマーク付きリスト
 *-----------------------------------------------*/

.pFirstVisit__main .cIconList--clover {
    padding-left: clamp(1px, 11vw, 44px);
    list-style: none;
}
.cIconList--clover li {
    position: relative;
    list-style: none;
}
.cIconList--clover li::before {
    position: absolute;
    top: clamp(1px, 1.5vw, 6px);
    left: clamp(-32px, -8vw, -1px);
    width: clamp(1px, 5.5vw, 22px);
    height: clamp(1px, 5.5vw, 22px);
    content: "";
    background: url(../includes/svg/blue-clover.svg) no-repeat center;
}

