@charset "UTF-8";
/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template: cocoon-master
Version: 1.1.3
*/
/*
  Picaria consolidated CSS
  Source: supplied home-page CSS, two Additional CSS rules,
  child-theme Font Awesome rule, and legal-page CSS.
  Do not paste <style> tags into this file.
  This file is a candidate replacement; test before removing existing CSS.
*/


/* ========== 01. SITE-WIDE ========== */
/* Shared brand colors — must NOT be inside .pikaria-home */
:root {
    --pk-blue: #1256a0;
    --pk-text: #173552;
}
/* Default page backdrop: individual home sections retain their own backgrounds. */
body, #container { background-color: #ffffff; }

/* ==================================================
   12. Cocoon全体の余白調整
   ※トップページ以外にも適用される設定
================================================== */

/* コンテンツ上部の余白を削除 */
#content {
    margin-top: 0;
    padding-top: 0;
}

/* コンテンツの横幅制限と左右余白を解除 */
#content .content-in.wrap {
    width: 100%;
    max-width: none;

    margin-left: 0;
    margin-right: 0;

    padding-left: 0;
    padding-right: 0;
}

/* メイン領域の左右paddingを削除 */
#main {
    padding:0;
}

/* 記事本文の上下marginを削除 */
.entry-content.cf {
    margin-top: 0;
    margin-bottom: 0;
}

/* 固定ページ：Cocoon標準タイトルを非表示 */
body.page .entry-title {
    display: none;
}


/* フッター上部の余白を削除 */
.footer {
    margin-top: 0;
}
/* Additional CSS previously configured via Customizer */
@media screen and (max-width: 1023px) {
    #header-container .navi { display: none; }
}
@media screen and (max-width: 768px) {
    body, #container, #header-container, #header, #content {
        background-color: #ffffff;
    }
}


/* ========== 02. HOME ONLY ========== */
/* ==================================================
   01. 基本設定
================================================== */

.pikaria-home {
    width: 100%;
    color: var(--pk-text);
    line-height: 1.7;
}

/* ボックスサイズを統一 */
.pikaria-home,
.pikaria-home *,
.pikaria-home *::before,
.pikaria-home *::after {
    box-sizing: border-box;
}

/* トップページ内のpタグ共通設定 */
.pikaria-home p {
    margin: 0;
    padding: 0;

    font-size: clamp(17px, 1.6vw, 22px);
    font-weight: 700;
    line-height: 1.8;
}


/* ==================================================
   02. Cocoon標準装飾のリセット
   ※トップページ内だけに適用
================================================== */

/* 見出しの装飾をリセット */
.pikaria-home h1,
.pikaria-home h2,
.pikaria-home h3,
.pikaria-home h4,
.pikaria-home h5,
.pikaria-home h6 {
    margin: 0;
    padding: 0;

    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    text-align: inherit;

    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

/* 見出しの前後に付く装飾を非表示 */
.pikaria-home h1::before,
.pikaria-home h1::after,
.pikaria-home h2::before,
.pikaria-home h2::after,
.pikaria-home h3::before,
.pikaria-home h3::after,
.pikaria-home h4::before,
.pikaria-home h4::after,
.pikaria-home h5::before,
.pikaria-home h5::after,
.pikaria-home h6::before,
.pikaria-home h6::after {
    content: none;
    display: none;
}

/* 画像 */
.pikaria-home img {
    display: block;
    max-width: 100%;
    height: auto;

    margin: 0;
    padding: 0;

    border: 0;
    box-shadow: none;
}

/* リンク */
.pikaria-home a {
    color: inherit;
    text-decoration: none;
}

/* リスト */
.pikaria-home ul,
.pikaria-home ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* セクション */
.pikaria-home section {
    margin: 0;
    border: 0;
    box-shadow: none;
}

/* ボタン */
.pikaria-home button {
    font: inherit;
    color: inherit;
    cursor: pointer;
}

/* 図 */
.pikaria-home figure {
    margin: 0;
}


/* ==================================================
   03. 共通コンテナ
   ※HERO以外のコンテンツ幅は最大1200px
================================================== */


.pikaria-home :is(.pk-container, .pk-ac-wrap) {
    width: min(100% - 40px, 1200px);
    margin-inline: auto;
}

/* ========================================
   PCヘッダーナビ
======================================== */

@media screen and (min-width: 1024px) {

    /* ナビ全体を右寄せ */
    #header-container .navi-in > ul {
        justify-content: flex-end;
        gap: 48px;
    }

    /* 各メニューの不要な固定幅を解除 */
    #header-container .navi-in > ul > li {
        width: auto;
        flex: 0 0 auto;
    }

    /* メニュー文字 */
    #header-container .navi-in > ul > li > a {
        padding: 14px 12px;

        color: #173552;

        font-size: 16px;
        font-weight: 600;
        line-height: 1.4;

        border-radius: 8px;

        transition:
            color 0.2s ease,
            background-color 0.2s ease;
    }

    /* カーソルを合わせた時 */
    #header-container .navi-in > ul > li > a:hover {
        color: #1256a0;
        background-color: #f3f9ff;
    }

    /* 現在表示しているページ */
    #header-container .navi-in > ul > li.current-menu-item > a,
    #header-container .navi-in > ul > li.current-menu-parent > a {
        color: #1256a0;
        font-weight: 700;
    }

  /* Cocoonのナビ幅制限を解除 */
    #header-container .navi-in.wrap {
        width: 100%;
        max-width: none;
        margin: 0;
        padding-left: 0;
        padding-right: 20px;
    }

    /* メニューを右端へ */
    #header-container .navi-in > ul {
        width: 100%;
        justify-content: flex-end;
        gap: 48px;
    }

 /* サブメニュー文字 */
    #header-container .navi-in ul.sub-menu li a {
        color: #173552;
        font-size: 15px;
        font-weight: 600;
        background: #ffffff;

        transition:
            color 0.2s ease,
            background-color 0.2s ease;
    }

    /* サブメニュー hover */
    #header-container .navi-in ul.sub-menu li a:hover {
        color: #1256a0;
        background-color: #f3f9ff;
    }

 #header-container .navi-in ul.sub-menu {
        background: #ffffff;
        border: 1px solid #e5edf5;
        box-shadow: 0 8px 20px rgba(18, 86, 160, 0.08);
    }

#header-container .header-container-in.hlt-top-menu.hlt-tm-right.wrap {
        width: 100%;
        max-width: none;
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 20px;
}
/* PCヘッダーの上下余白 */
    #header-container .header-container-in.hlt-top-menu.hlt-tm-right.wrap {
        padding-top: 12px;
        padding-bottom: 12px;
    }


}

/* ==================================================
   04. HERO
================================================== */

.pikaria-home .pk-hero {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #ffffff;
}

/* HERO画像 */
.pikaria-home .pk-home-hero-bg {
    display: block;
    width: 100%;
}

.pikaria-home .pk-home-hero-bg img {
    width: 100%;
    height: auto;
    margin: 0;
}



/* 左側キャッチコピー */
.pikaria-home .pk-home-hero-copy {
    position: absolute;
    top: 17%;
    left: 4%;
    z-index: 2;
    width: 40%;
}

.pikaria-home .pk-home-hero-title {
    margin: 0;
    padding: 0;

    color: var(--pk-blue);

    font-family:
        Arial,
        "Hiragino Kaku Gothic ProN",
        "Yu Gothic",
        sans-serif;

    font-size: clamp(58px, 6vw, 108px);
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: -0.06em;
}

.pikaria-home .pk-home-hero-title span {
    display: block;
}

/* 右側縦書きエリア */
.pikaria-home .pk-home-hero-side {
    position: absolute;
    top: 14%;
    right: 2.8%;
    z-index: 2;

    display: flex;
    flex-direction: column;
    align-items: center;
}

/* 縦書きコピー */
.pikaria-home .pk-home-hero-side-copy {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    gap: 0.7em;

    width: max-content;
    height: max-content;

    margin: 0;

    color: #123b69;

    font-family:
        "Noto Serif JP",
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: clamp(17px, 1.45vw, 27px);
    font-weight: 600;
    line-height: 1.9;
    letter-spacing: 0.08em;
}

.pikaria-home .pk-home-hero-side-copy span {
    display: block;

    writing-mode: vertical-rl;
    text-orientation: upright;

    width: max-content;
    height: max-content;

    white-space: nowrap;
}

/* 縦線 */
.pikaria-home .pk-home-hero-side-line {
    display: block;
    width: 1px;
    height: 48px;
    margin: 14px 0 24px;
    background: var(--pk-blue);
}

/* 英字サービス名 */
.pikaria-home .pk-home-hero-services {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;

    color: var(--pk-blue);

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: clamp(8px, 0.72vw, 13px);
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: 0.13em;
}
/* ========================================
   HERO画像 PC / SP 切り替え
======================================== */

/* PC：PC画像だけ表示 */
.pikaria-home .pk-home-hero-bg > .pk-home-hero-bg-pc {
    display: block;
}

.pikaria-home .pk-home-hero-bg > .pk-home-hero-bg-sp {
    display: none;
}


/* スマホ：スマホ画像だけ表示 */
@media screen and (max-width: 768px) {

    .pikaria-home .pk-home-hero-bg > .pk-home-hero-bg-pc {
        display: none;
    }

    .pikaria-home .pk-home-hero-bg > .pk-home-hero-bg-sp {
        display: block;
    }

}

/* ==================================================
   05. H2 共通セクションタイトル

   英語：大きな見出し
   日本語：英語の50%
================================================== */

.pikaria-home .pk-section-title {
    display: flex;
    flex-direction: column;
    align-items: center;

    margin: 0 0 45px;
    padding: 0;

    color: var(--pk-blue);
    text-align: center;

    font-size: clamp(36px, 6vw, 72px);
    font-weight: 400;
    line-height: 1.2;

    background: none;
    border: none;
}

/* 英語タイトル */
.pikaria-home .pk-title-en {
    display: block;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1em;
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: 0.03em;
}

/* 日本語タイトル */
.pikaria-home .pk-title-ja {
    display: block;
    margin-top: 0.15em;

    font-family:
        "Noto Serif JP",
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 0.5em;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.05em;
}


/* ==================================================
   06. 各セクション共通の上下余白
================================================== */

.pikaria-home .pk-services,
.pikaria-home .pk-reasons,
.pikaria-home .pk-blog,
.pikaria-home .pk-area,
.pikaria-home .pk-contact, 
.pikaria-home.pk-ac-page .pk-ac-section,
.pikaria-home.pk-wash-page .pk-ac-section,
.pikaria-home.pk-grave-page .pk-ac-section{
    padding: 90px 0;
}

/* 3サービスページ共通：見出し配置 */
.pikaria-home .pk-ac-heading {
    margin: 0 0 40px;
    text-align: center;
}


/* ========================================
   07. SERVICES
======================================== */

/* セクション背景 */
.pikaria-home .pk-services {
    background-color: #ffffff;
}

/* PC：カードを横3列に配置 */
.pikaria-home .pk-service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    align-items: stretch;
}

/* カード全体 */
.pikaria-home .pk-service-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: auto;

    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e5edf5;
    border-radius: 12px;
    box-shadow: 0 5px 18px rgba(18, 86, 160, 0.07);
}

/* ----------------------------------------
   写真
---------------------------------------- */

/* PC：写真の高さ */
.pikaria-home .pk-service-photo {
    position: relative;
    flex-shrink: 0;
    height: 225px;
    overflow: hidden;
}

/* 写真をカード幅に合わせる */
.pikaria-home .pk-service-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ----------------------------------------
   写真下部の白い情報エリア
---------------------------------------- */

.pikaria-home .pk-service-info {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 20px 22px 22px;
    background: #ffffff;
}

/* アイコンとサービス名を横並び */
.pikaria-home .pk-service-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

/* 3種類共通のアイコンサイズ */
.pikaria-home .pk-service-icon {
    display: block;
    flex: 0 0 54px;
    width: 54px;
    height: 54px;
}

/* サービス名 */
.pikaria-home .pk-service-card .pk-service-name {
    display: block;
    width: auto;
    max-width: none;
    margin: 0;

    color: #1256a0;
    background: none;
    -webkit-text-fill-color: currentColor;

    font-size: clamp(17px, 1.5vw, 23px);
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
}

/* 説明文 */
.pikaria-home .pk-service-card .pk-service-description {
    margin-top: 18px;
    margin-bottom: 28px;

    color: #35475d;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.8;
}

/* ----------------------------------------
   詳しく見るボタン
---------------------------------------- */

.pikaria-home .pk-service-card .pk-service-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;

    width: 78%;
    margin: auto auto 0;
    padding: 12px 18px;

    background: #1265be;
    border: 0;
    border-radius: 999px;

    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;

    transition: background-color 0.2s ease;
}



/* ボタンの矢印 */
.pikaria-home .pk-service-button span {
    font-size: 20px;
    line-height: 1;
}

/* PC：マウスを重ねたとき */
@media (hover: hover) {
    .pikaria-home .pk-service-button:hover {
        background: #0d4e98;
    }
}


/* ==================================================
   08. REASONS
   選ばれる理由
================================================== */

/* セクション背景 */
.pikaria-home .pk-reasons {
    background-color: #f3f9ff;
}

/* PC：横4列 */
.pikaria-home .pk-reason-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
    align-items: start;
}

/* 各項目 */
.pikaria-home .pk-reason {
    min-width: 0;
    text-align: center;
}

/* 円形イラスト */
.pikaria-home .pk-reason-image {
    display: block;
    width: 100%;
    max-width: 210px;
    aspect-ratio: 1 / 1;
    height: auto;

    margin: 0 auto 22px;

    object-fit: cover;
    border-radius: 50%;
}

/* 見出し */
.pikaria-home .pk-reason h3 {
    margin: 0;

    color: #1256a0;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.5;
}

/* 説明文 */
.pikaria-home .pk-reason p {
    margin-top: 15px;

    color: #35475d;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.9;
}



/* ==================================================
   09. BLOG
   ブログ記事一覧
================================================== */

/* セクション背景 */
.pikaria-home .pk-blog {
    background-color: #ffffff;
}

/* PC：3列 */
.pikaria-home .pk-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

/* ブログ一覧リンク */
.pikaria-home .pk-blog-link {
    display: block;
    width: fit-content;

    margin: 40px auto 0;

    color: var(--pk-blue);
}
/* 3サービス共通：コラムセクション背景 */
.pikaria-home:is(.pk-ac-page, .pk-wash-page, .pk-grave-page) .pk-ac-columns {
    background: #f0f8ff;
}

/* ==========================================
   TOPページ コラム一覧ボタン
   サービスボタンのデザインを共通利用
========================================== */

.pikaria-home .pk-blog .pk-blog-link.pk-service-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;

    width: fit-content;
    max-width: 100%;
    margin: clamp(2rem, 4vw, 3rem) auto 0;
    padding: 12px 32px;

    background: #1265be;
    border: 0;
    border-radius: 999px;

    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;

    transition: background-color 0.2s ease;
}

@media (hover: hover) {
    .pikaria-home .pk-blog .pk-blog-link.pk-service-button:hover {
        background: #0d4e98;
        color: #ffffff;
    }
}

/* ==========================================
   TOPコラム：PCは3列、SP・タブレットは横スクロール
========================================== */

/* PC：3列×2段 */
@media screen and (min-width: 1024px) {
    .pikaria-home .pk-blog-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 24px;
    }
}

/* タブレット・スマホ：横スクロール1段 */
@media screen and (max-width: 1023px) {

    .pikaria-home .pk-blog-grid {
        display: flex;
        flex-wrap: nowrap;
        gap: clamp(12px, 2.5vw, 20px);

        overflow-x: auto;
        overflow-y: hidden;

        scroll-snap-type: x proximity;
        scroll-padding-inline: 0;
        -webkit-overflow-scrolling: touch;

        padding: 6px 0 20px;
    }

    /* 1枚ずつ横並び */
    .pikaria-home .pk-blog-grid > .pk-blog-card {
        display: block;
        flex: 0 0 clamp(220px, 48vw, 340px);
        width: auto;
        min-width: 0;
        scroll-snap-align: none;
    }

    /* 5・6番目も表示する */
    .pikaria-home .pk-blog-grid > .pk-blog-card:nth-child(n+5) {
        display: block;
    }

    /* スクロールバー */
    .pikaria-home .pk-blog-grid::-webkit-scrollbar {
        height: 5px;
    }

    .pikaria-home .pk-blog-grid::-webkit-scrollbar-thumb {
        background: #c4d7eb;
        border-radius: 999px;
    }

    .pikaria-home .pk-blog-grid::-webkit-scrollbar-track {
        background: transparent;
    }
}

/* スマホ：次の記事を右端に少し見せる */
@media screen and (max-width: 600px) {

    .pikaria-home .pk-blog-grid > .pk-blog-card {
        flex-basis: 78%;
    }
}

/* ==========================================
   記事カード：タイトルを最大2行で省略
   TOPページ・コラム一覧 共通
========================================== */

.pikaria-home .pk-blog-card .pk-blog-content h3,
.pk-column-card .pk-column-card-body h2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    overflow-wrap: anywhere;
}

/* TOPページ：カード内の高さを揃える */
.pikaria-home .pk-blog-card .pk-blog-content {
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* TOPページ：「記事を読む」を下側に配置 */
.pikaria-home .pk-blog-card .pk-blog-content::after {
    margin-top: auto;
    padding-top: 1rem;
}



/* ==================================================
   10. AREA
   出張費無料エリア
================================================== */

/* セクション背景 */
.pikaria-home .pk-area {
    background-color: #f3f9ff;
}

/* 説明と地図の2列カード */
.pikaria-home .pk-area-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;

    gap: 40px;
    padding: 45px;

    background: #ffffff;
    border: 1px solid #e2eff9;
    border-radius: 20px;
}

/* 左側：説明領域 */
.pikaria-home .pk-area-info {
    min-width: 0;
}

/* 出張費無料バッジ */
.pikaria-home .pk-area-badge {
    display: inline-block;
    padding: 10px 25px;

    background: #2385c8;
    color: #ffffff;

    font-size: 17px;
    font-weight: 700;

    border-radius: 50px;
}

/* メイン見出し */
.pikaria-home .pk-area-heading {
    margin: 25px 0;

    color: #174e85;

    font-size: clamp(22px, 2.4vw, 34px);
    font-weight: 700;
    line-height: 1.5;
}

/* 説明文章 */
.pikaria-home .pk-area-description {
    max-width: 480px;
margin-top: 24px;
    color: #30475c;

    font-size: 16px;
    line-height: 2;
}

/* 対応地域一覧 */
.pikaria-home .pk-area-list {
    margin-top: 30px;
    padding: 18px 22px;

    background: #edf6ff;
    border-radius: 12px;
}

/* 対応地域ラベル */
.pikaria-home .pk-area-list-label {
    display: block;

    color: #2169a5;

    font-size: 14px;
    font-weight: 700;
}

/* 地域名 */
.pikaria-home .pk-area-list p {
    margin-top: 5px;

    color: #174e85;

    font-size: 16px;
    font-weight: 700;
}

/* 右側：地図の背景 */
.pikaria-home .pk-area-map {
    display: flex;
    align-items: center;
    justify-content: center;

    min-width: 0;
    padding: 25px;

    background: #f0f8ff;
    border-radius: 18px;
}

/* 地図画像 */
.pikaria-home .pk-area-map img {
    display: block;

    width: 100%;
    max-width: 550px;
    height: auto;

    object-fit: contain;
}



/* ==================================================
   11. CONTACT
   お問い合わせ
================================================== */

/* セクション背景：白 */
.pikaria-home .pk-contact {
    background-color: #ffffff;
}

/* セクションの説明文 */
.pikaria-home .pk-contact-description {
    margin: 0;
    color: #173552;
    text-align: center;
    font-size: clamp(16px, 1.6vw, 22px);
    font-weight: 700;
    line-height: 1.8;
}

/* PCでは強制改行を使わない */
.pikaria-home .pk-contact-sp-br {
    display: none;
}

/* LINEアイコン */
.pikaria-home .pk-contact-line-icon {
    background: none;
    color: #06c755;
}

/* 電話アイコン */
.pikaria-home .pk-contact-phone-icon {
    background: #e7f3ff;
    color: #1256a0;
    border-radius: 50%;
    font-size: 32px;
}


/* ----------------------------------------
   お問い合わせカード：共通
---------------------------------------- */

.pikaria-home .pk-contact-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 28px;
    max-width: 1100px;
    margin: 42px auto 0;
}

/* カード全体 */
.pikaria-home .pk-contact-card {
    display: flex;
    align-items: center;
    gap: 20px;

    min-width: 0;
    padding: 28px 30px;

    background: #ffffff;
    border: 1px solid #e0eaf4;
    border-radius: 18px;

    box-shadow: 0 8px 25px rgba(18, 86, 160, 0.10);

    text-decoration: none;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

/* LINE：薄い緑の枠 */
.pikaria-home .pk-contact-line {
    border-color: #d7eddd;
}

/* 電話：薄い青の枠 */
.pikaria-home .pk-contact-phone {
    border-color: #d9e6f5;
}

.pikaria-home .pk-contact-caution {
    margin-top: 2px;

    color: #53677c;

    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
}

/* ----------------------------------------
   アイコン
---------------------------------------- */

.pikaria-home .pk-contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 72px;
    width: 72px;
    height: 72px;
}

/* LINEアイコン */
.pikaria-home .pk-contact-line-icon i {
    font-family: "Font Awesome 5 Brands" !important;
    font-weight: 400 !important;
    font-style: normal;
    font-size: 58px;
    color: #06c755;
}



/* ----------------------------------------
   文字と矢印
---------------------------------------- */

/* カード内の文字 */
.pikaria-home .pk-contact-text {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
}

/* 大きな案内文字 */
.pikaria-home .pk-contact-name {
    font-size: clamp(18px, 1.8vw, 27px);
    font-weight: 700;
    line-height: 1.4;
}

/* LINEは緑 */
.pikaria-home .pk-contact-line .pk-contact-name {
    color: #06C755;
}

/* 電話は青 */
.pikaria-home .pk-contact-phone .pk-contact-name {
    color: #1256a0;
}

/* 補足 */
.pikaria-home .pk-contact-note {
    color: #53677c;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
}

/* 右側の矢印 */
.pikaria-home .pk-contact-arrow {
    flex-shrink: 0;

    font-size: 30px;
    font-weight: 400;
    line-height: 1;
}

.pikaria-home .pk-contact-line .pk-contact-arrow {
    color: #159a46;
}

.pikaria-home .pk-contact-phone .pk-contact-arrow {
    color: #1256a0;
}

/* PC：マウスを重ねたとき */
@media (hover: hover) {
    .pikaria-home .pk-contact-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 12px 28px rgba(18, 86, 160, 0.14);
    }
}

/* キーボード操作時 */
.pikaria-home .pk-contact-card:focus-visible {
    outline: 3px solid #2385c8;
    outline-offset: 4px;
}
/* CONTACT Font Awesome 5 (Cocoon setting must load FA5 fonts) */
.pikaria-home .pk-contact-phone-icon i {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    font-style: normal;
    font-size: 32px;
    color: #1256a0;
}


/* ==================================================
   13. スマホ・タブレット対応
   画面幅768px以下
================================================== */

@media screen and (max-width: 768px) {

    /* ------------------------------------------
       共通コンテナ
    ------------------------------------------ */

    .pikaria-home :is(.pk-container, .pk-ac-wrap) {
    width: min(100% - 32px, 1200px);
}


   /* ------------------------------------------
   HERO
------------------------------------------ */

.pikaria-home .pk-hero {
    width: 100%;
    min-height: 0;
    padding: 0;
    overflow: hidden;
}

/* スマホ画像 */
.pikaria-home .pk-home-hero-bg {
    display: block;
    width: 100%;
}

.pikaria-home .pk-home-hero-bg img {
    display: block;
    width: 100%;
    height: auto;
}

/* 左側キャッチコピー */
.pikaria-home .pk-home-hero-copy {
    top: 0.5%;
    left: 5%;
    width: 68%;
}

.pikaria-home .pk-home-hero-title {
    font-size: clamp(40px, 12.5vw, 68px);
    line-height: 1.2;
    letter-spacing: -0.065em;
}

/* 右側 */
.pikaria-home .pk-home-hero-side {
    top: 7%;
    right: 4%;
}

/* 縦書き */
.pikaria-home .pk-home-hero-side-copy {
    font-size: clamp(13px, 3.8vw, 19px);
    line-height: 1.75;
    letter-spacing: 0.05em;
}

/* 縦線 */
.pikaria-home .pk-home-hero-side-line {
    height: 32px;
    margin: 10px 0 16px;
}

/* 英字 */
.pikaria-home .pk-home-hero-services {
    gap: 4px;

    font-size: clamp(7px, 2.1vw, 10px);
    line-height: 1.4;
    letter-spacing: 0.10em;
}

@media screen and (max-width: 480px) {

    /* 左メインコピー */
    .pikaria-home .pk-home-hero-copy {
        top: 0;
        left: 5%;
        width: 68%;
    }

    .pikaria-home .pk-home-hero-title {
        font-size: clamp(35px, 10vw, 60px);
        line-height: 1.2;
        letter-spacing: -0.065em;
    }


    /* 右側の親要素は位置基準にしない */
    .pikaria-home .pk-home-hero-side {
        position: static;
    }


    /* 縦書き文字 */
    .pikaria-home .pk-home-hero-side-copy {
        position: absolute;
        top: 3%;
        right: 4%;

        font-size: clamp(13px, 3.8vw, 19px);
        line-height: 1.7;
        letter-spacing: 0.05em;
    }


    /* 縦線 */
    .pikaria-home .pk-home-hero-side-line {
        position: absolute;

        top: 75%;
        left: 48px;

        margin: 0;

        width: 1px;
        height: 22px;
    }


    /* 英字 */
    .pikaria-home .pk-home-hero-services {
        position: absolute;

        top: 80%;
        left: 12px;

        width: 74px;

        align-items: center;
        text-align: center;
    }

}

    /* ------------------------------------------
       共通セクションの余白
    ------------------------------------------ */

    .pikaria-home .pk-services,
    .pikaria-home .pk-reasons,
    .pikaria-home .pk-blog,
    .pikaria-home .pk-area,
    .pikaria-home .pk-contact,
.pikaria-home.pk-ac-page .pk-ac-section,
.pikaria-home.pk-wash-page .pk-ac-section,
.pikaria-home.pk-grave-page .pk-ac-section  {
        padding: 60px 0;
    }
/* 3サービスページ共通：見出し余白 */
.pikaria-home .pk-ac-heading {
    margin-bottom: 30px;
}

    /* ------------------------------------------
       共通セクションタイトル
    ------------------------------------------ */

    .pikaria-home .pk-section-title {
        margin-bottom: 32px;
    }


    /* ------------------------------------------
       SERVICES：3列 → 1列
    ------------------------------------------ */
/* カードを縦1列に配置 */
    .pikaria-home .pk-service-grid {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    /* 写真の高さ */
    .pikaria-home .pk-service-photo {
        height: 210px;
    }

    /* 白い情報エリア */
    .pikaria-home .pk-service-info {
        padding: 16px 18px 18px;
    }

    /* アイコン */
    .pikaria-home .pk-service-icon {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
    }

    /* サービス名 */
    .pikaria-home .pk-service-card .pk-service-name {
        font-size: 20px;
    }

    /* 説明文 */
    .pikaria-home .pk-service-card
        .pk-service-description {
        margin-top: 12px;
        margin-bottom: 18px;
        font-size: 15px;
    }

    /* リンクボタン */
    .pikaria-home .pk-service-card
        .pk-service-button {
        padding: 11px 16px;
        font-size: 15px;
    }

    /* ------------------------------------------
       REASONS： 2列
    ------------------------------------------ */
.pikaria-home .pk-reason-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 36px 18px;
    }

    .pikaria-home .pk-reason-image {
        max-width: 160px;
        margin: 0 auto 16px;
    }

    .pikaria-home .pk-reason h3 {
        font-size: 16px;
    }

    .pikaria-home .pk-reason p {
        margin-top: 10px;
        font-size: 13px;
        line-height: 1.8;
    }




    /* ------------------------------------------
       BLOG：3列 → 1列
    ------------------------------------------ */

    .pikaria-home .pk-blog-grid {
        grid-template-columns: 1fr;
    }


    /* ------------------------------------------
       AREA：2列 → 1列
    ------------------------------------------ */

    .pikaria-home .pk-area-card {
        grid-template-columns: 1fr;

        gap: 25px;
        padding: 25px 18px;

        border-radius: 15px;
    }

    /* 出張費無料バッジ */
    .pikaria-home .pk-area-badge {
        font-size: 14px;
        padding: 8px 18px;
    }

    /* メイン見出し */
    .pikaria-home .pk-area-heading {
        margin: 20px 0;
        font-size: clamp(21px, 5vw, 28px);
    }

    /* 説明文 */
    .pikaria-home .pk-area-description {
        font-size: 14px;
        line-height: 1.9;
    }

    /* 対応地域一覧 */
    .pikaria-home .pk-area-list {
        margin-top: 22px;
        padding: 15px;
    }

    /* 地域名 */
    .pikaria-home .pk-area-list p {
        font-size: 14px;
    }

    /* 地図 */
    .pikaria-home .pk-area-map {
        padding: 15px;
    }


    /* ------------------------------------------
       CONTACT：3列 → 1列
    ------------------------------------------ */

     /* スマホでは説明文を改行 */
    .pikaria-home .pk-contact-sp-br {
        display: inline;
    }

    /* カードを縦に2つ並べる */
    .pikaria-home .pk-contact-buttons {
        grid-template-columns: 1fr;
        gap: 18px;

        margin-top: 30px;
    }

    /* カードの余白を縮小 */
    .pikaria-home .pk-contact-card {
        gap: 15px;
        padding: 20px 16px;

        border-radius: 14px;
    }

    /* アイコンを少し小さく */
    .pikaria-home .pk-contact-icon {
        flex-basis: 54px;
        width: 54px;
        height: 54px;
    }

    /* 案内文字 */
    .pikaria-home .pk-contact-name {
        font-size: clamp(17px, 4.4vw, 22px);
    }

    /* 補足 */
    .pikaria-home .pk-contact-note {
        font-size: 12px;
    }

    /* 矢印 */
    .pikaria-home .pk-contact-arrow {
        font-size: 24px;
    }
.pikaria-home .pk-contact-caution {
    font-size: 11px;
}
}


/* ========== 03. COCOON FOOTER ========== */
/* ========================================
   ピカりあ：COCOON フッター
======================================== */

#footer {
    background: var(--pk-blue, #1256a0);
    color: #ffffff;
    margin-top: 0;
    padding: 0;
}

/* フッター全体の横幅 */
#footer #footer-in {
    box-sizing: border-box;
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 65px 35px 20px;
}

/* PC：3列。右側は将来のSNS用 */
#footer .footer-widgets {
    display: grid;
    grid-template-columns: 1.5fr 0.8fr 1fr;
    gap: 55px;
    align-items: start;
    width: 100%;
    margin: 0;
}

/* Cocoon標準のカラム幅を解除 */
#footer .footer-widgets > div {
    box-sizing: border-box;
    float: none;
    width: auto;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 0;
}

/* ウィジェット自体の余白 */
#footer .footer-widgets .widget {
    margin: 0;
    padding: 0;
}

#footer .footer-widgets .widget-title {
    display: none;
}

/* ----------------------------------------
   左：ロゴと事業紹介
---------------------------------------- */

#footer .pk-footer-logo {
    display: inline-block;
    width: 100%;
    max-width: 340px;
}

#footer .pk-footer-logo img {
    display: block;
    width: 100%;
    height: auto;
}

#footer .pk-footer-catch {
    margin: 25px 0 0;
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.8;
}

#footer .pk-footer-about {
    margin: 18px 0 0;
    color: #dce8f5;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.9;
}

/* ----------------------------------------
   中央：メニュー
---------------------------------------- */

#footer .pk-footer-nav h2 {
    margin: 0 0 23px;
    padding: 0;
    border: none;
    background: transparent;
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
}

#footer .pk-footer-nav ul {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#footer .pk-footer-nav li {
    margin: 0;
    padding: 0;
line-height: 1.5;
}

#footer .pk-footer-nav a {
    color: #e1eaf5;
    font-size: 15px;
    text-decoration: none;
    transition: opacity 0.2s;
}

#footer .pk-footer-nav a:hover {
    opacity: 0.7;
}

/* ----------------------------------------
   下部：Cocoon標準のコピーライト
---------------------------------------- */

#footer .footer-bottom {
    margin-top: 65px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,0.45);
    color: #dce8f5;
}

#footer .footer-bottom,
#footer .footer-bottom a,
#footer .copyright {
    color: #dce8f5;
    font-size: 13px;
}
/* Cocoon footer legal menu — only if standard footer navigation is populated */
#footer .footer-bottom .menu-item a { padding: 5px 10px; }
#footer .footer-bottom a:hover { opacity: 0.75; }

@media screen and (max-width: 834px) {

    #footer #footer-in {
        padding: 45px 24px 20px;
    }

    /* スマホでも通常のウィジェットを利用 */
    #footer .footer-widgets {
        display: grid;
        grid-template-columns: 1fr;
        gap: 38px;
    }

    /* 空のSNSエリアは表示しない */
    #footer .footer-right {
        display: none;
    }

    #footer .pk-footer-logo {
        max-width: 260px;
    }

    #footer .pk-footer-catch {
        margin-top: 20px;
        font-size: 16px;
    }

    #footer .pk-footer-about {
        font-size: 13px;
    }

    #footer .footer-bottom {
        margin-top: 42px;
        padding-top: 20px;
    }
}

/* ==================================================
   LEGAL PAGES — terms, privacy, disclosures
   Use .pk-legal only on pages with the legal HTML wrapper.
================================================== */
.pk-legal {
    --legal-blue: var(--pk-blue);
    box-sizing: border-box;
    max-width: 1050px;
    margin: 0 auto;
    padding: 0 20px 75px;
    color: #25364a;
    font-size: 15px;
    line-height: 1.9;
}
.pk-legal *, .pk-legal *::before, .pk-legal *::after { box-sizing: border-box; }
.pk-legal-breadcrumb {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 25px;
    font-size: 13px;
    color: #61748c;
}
.pk-legal-breadcrumb a { color: var(--legal-blue); text-decoration: none; }
.pk-legal-card {
    padding: 40px 45px;
    background: #ffffff;
    border: 1px solid #dce8f4;
    border-radius: 12px;
    box-shadow: 0 4px 18px rgba(18,86,160,0.04);
}
.pk-legal-intro {
    margin: 0 0 30px;
    padding-bottom: 25px;
    border-bottom: 1px solid #dce8f4;
}
.pk-legal-item {
    display: grid;
    grid-template-columns: 45px minmax(0,1fr);
    align-items: start;
    gap: 15px;
    padding: 24px 0;
    border-bottom: 1px solid #dce8f4;
}
.pk-legal-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #e3f1ff;
    color: var(--legal-blue);
    font-size: 15px;
    font-weight: 700;
}
/* Prefix with .pk-legal so Cocoon styles on other pages stay intact. */
.pk-legal .pk-legal-item h2 {
    margin: 0 0 9px;
    padding: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
    color: var(--legal-blue);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
}
.pk-legal .pk-legal-item h2::before,
.pk-legal .pk-legal-item h2::after { content: none; display: none; }
.pk-legal .pk-legal-item p {
    margin: 0 0 10px;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.9;
}
.pk-legal .pk-legal-item p:last-child { margin-bottom: 0; }
.pk-legal-date {
    margin: 28px 0 0;
    font-size: 13px;
    text-align: right;
    color: #66768a;
}
@media screen and (max-width: 768px) {
    .pk-legal { padding: 0 15px 45px; }
    .pk-legal-card { padding: 24px 18px; }
    .pk-legal-item {
        grid-template-columns: 34px minmax(0,1fr);
        gap: 12px;
        padding: 22px 0;
    }
    .pk-legal-number { width: 32px; height: 32px; font-size: 13px; }
    .pk-legal .pk-legal-item h2 { font-size: 17px; }
    .pk-legal .pk-legal-item p, .pk-legal-intro { font-size: 14px; }
}
/* ========================================
   スマホ下部 固定LINEボタン
======================================== */

.pk-floating-line {
    display: none;
}

@media screen and (max-width: 768px) {

    .pk-floating-line {
        position: fixed;
        right: 16px;
        bottom: calc(16px + env(safe-area-inset-bottom));
        z-index: 999;

        display: flex;
        align-items: center;
        gap: 4px;

        box-sizing: border-box;
        width: max-content;
        max-width:  calc(100vw - 32px);
        min-height: 50px;
        padding: 5px 20px 5px 7px;

        background: #06C755;
        color: #fff;
        border-radius: 999px;

        text-decoration: none;
        box-shadow: 0 3px 12px rgba(0,0,0,.16);

        opacity: 0;
        visibility: hidden;
        transform: translateY(18px);
        pointer-events: none;

        transition:
            opacity .3s ease,
            transform .3s ease,
            visibility .3s;
    }

    .pk-floating-line.is-visible {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
    }

    .pk-floating-line-logo {
        display: block;
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
        object-fit: contain;
    }

    .pk-floating-line-text {
        display: flex;
        flex-direction: column;
        min-width: 0;
        gap: 2px;
        color: #fff;
        white-space: nowrap;
        line-height: 1.2;
		flex-shrink: 0;
    }

    .pk-floating-line-title {
        font-size: clamp(11px, 3vw, 13px);
        font-weight: 800;
    }

    .pk-floating-line-sub {
        font-size: 10px;
        font-weight: 500;
    }

   

    .pk-floating-line:focus-visible {
        outline: 3px solid #1256a0;
        outline-offset: 3px;
    }

    /* 非常に狭いスマホ */
    @media screen and (max-width: 320px) {
        .pk-floating-line {
            right: 10px;
            gap: 2px;
           
        }

        .pk-floating-line-title {
            font-size: 10px;
        }
.pk-floating-line-sub {
        font-size: 9px;
        font-weight: 500;
    }
        
    }

}

/* ========================================
   スマホヘッダーの調整
======================================== */

@media screen and (max-width: 768px) {

    /* ヘッダー全体 */
    .mobile-header-menu-buttons {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    /* ロゴを左端へ */
    .mobile-header-menu-buttons .logo-menu-button.menu-button {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    justify-content: flex-start;

    /* 少し中央へ＋上下に少し余白 */
    padding: 2px 0 2px 10px;
}

.mobile-header-menu-buttons .logo-menu-button img {
    margin-left: 0;
    margin-right: auto;
}

    /* ハンバーガーメニューを右端へ */
    .mobile-header-menu-buttons .navi-menu-button {
        flex: 0 0 56px;
    width: 60px;
    margin-left: auto;
    margin-right: 8px;
    }

    /* 「メニュー」の文字を非表示 */
    .mobile-header-menu-buttons
    .navi-menu-caption {
        display: none;
    }

    /* 3本線の色をブランドブルーに */
    .mobile-header-menu-buttons
    .navi-menu-icon,
    .mobile-header-menu-buttons
    .navi-menu-icon i {
        color: #1256a0;
font-size:25px;
    }


/* ========================================
   スマホメニュー：右側からスライドイン
======================================== */

.navi-menu-content {
        left: auto;
        right: 0;
        -webkit-transform: translateX(105%);
        transform: translateX(105%);
    }


}
/* ========================================
   スマホ スライドメニュー配色・仕切り線
======================================== */

@media screen and (max-width: 768px) {

    /* スライドメニューの背景 */
    .navi-menu-content.menu-content {
        background-color: #1256a0;
    }

    /* メニュー項目の仕切り線 */
    .navi-menu-content .menu-drawer li {
        border-top: 1px solid #78b6f0;
    }

    /* 最後の項目の下にも線 */
    .navi-menu-content .menu-drawer > li:last-child {
        border-bottom: 1px solid #78b6f0;
    }

    /* メニュー文字 */
    .navi-menu-content .menu-drawer a {
        color: #ffffff;
        background: transparent;
    }

    /* タップ時 */
    .navi-menu-content .menu-drawer a:hover {
        color: #ffffff;
        background: rgba(255, 255, 255, 0.12);
    }

    /* 閉じるボタン */
    .navi-menu-content .menu-close-button {
        color: #ffffff;
    }
}

/* 共通料金CSS：料金表ページ・エアコン・洗車・墓掃除 */
.pikaria-home.pk-all-prices { width:100%; background:#fff; color:#173552; }
.pk-all-prices, .pk-all-prices *, .pk-all-prices *::before, .pk-all-prices *::after { box-sizing:border-box; }
.pk-all-prices > .pikaria-home { --ac-blue:#1256a0; --ac-light:#f0f8ff; --ac-border:#d9e9f7; width:100%; background:#fff; color:#173552; }
.pikaria-home.pk-all-prices > .pk-section-title { display:flex; flex-direction:column; align-items:center; margin:60px auto 55px; padding:0 20px; color:#1256a0; text-align:center; background:none; border:0; box-shadow:none; }
.pk-all-prices > .pk-section-title .pk-title-en { display:block; font-family:Georgia, "Times New Roman", serif; font-size:clamp(36px, 6vw, 72px); font-weight:400; line-height:1.1; letter-spacing:.03em; }
.pk-all-prices > .pk-section-title .pk-title-ja { display:block; margin-top:10px; font-family:"Noto Serif JP", "Yu Mincho", serif; font-size:clamp(20px, 3vw, 36px); font-weight:400; line-height:1.4; letter-spacing:.05em; }
.pikaria-home.pk-all-prices .pk-price-service-name { max-width:1200px; margin:0 auto; padding:25px 20px 0; color:#1256a0; font-size:clamp(22px, 3vw, 30px); font-weight:700; line-height:1.5; text-align:center; border:0; background:none; box-shadow:none; }
.pikaria-home .pk-price-scope.pk-ac-pricing .pk-ac-wrap { width:min(100% - 40px, 1200px); margin-inline:auto; }
.pikaria-home .pk-price-scope.pk-ac-pricing { padding:25px 0 85px; background:#fff; }
.pk-all-prices > .pikaria-home + .pikaria-home { border-top:1px solid #d9e9f7; }
.pikaria-home .pk-price-scope.pk-ac-pricing .pk-ac-heading { margin:0 0 40px; text-align:center; }
.pikaria-home .pk-price-scope.pk-ac-pricing .pk-ac-heading p { max-width:750px; margin:0 auto; color:#35475d; font-size:16px; font-weight:400; line-height:1.9; }

/* 基本料金 */
.pk-price-scope .pk-ac-price-grid { display:grid; gap:24px; max-width:940px; margin:0 auto; }
.pk-price-scope .pk-ac-price-card { min-width:0; padding:38px 24px; background:#fff; border:1px solid #d9e9f7; border-radius:14px; overflow:hidden; text-align:center; }
.pk-price-scope .pk-ac-price-card.is-featured { border:2px solid #1256a0; }
.pk-price-scope .pk-ac-price-card h3 { margin:0 0 24px; padding:0; color:#123b69; font-size:clamp(17px, 2vw, 22px); font-weight:700; line-height:1.5; border:0; background:none; box-shadow:none; }
.pk-price-scope .pk-ac-price-amount { color:#F02828; font-size:clamp(34px, 4vw, 48px); font-weight:700; line-height:1.3; }
.pk-price-scope .pk-ac-price-amount span { margin-left:4px; font-size:20px; }
.pikaria-home .pk-price-scope.pk-ac-pricing .pk-ac-price-tax { margin:12px 0 0; color:#53677c; font-size:13px; font-weight:400; line-height:1.6; }
.pk-price-scope.pk-ac-page .pk-ac-price-grid, .pk-price-scope.pk-grave-page .pk-ac-price-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }
.pk-price-scope.pk-wash-page .pk-wash-price-grid { gap:7px; }
.pk-price-scope.pk-wash-page .pk-ac-price-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); max-width:1100px; }
.pk-price-scope.pk-wash-page .pk-ac-price-card h3 { color:#173552; }

/* オプション */
.pk-price-scope .pk-ac-options { display:grid; grid-template-columns:minmax(0, 1fr) max-content; column-gap:24px; max-width:940px; margin:55px auto 0; }
.pk-price-scope .pk-ac-options-title { margin:0 0 20px; padding:0; color:#173552; font-size:22px; font-weight:700; line-height:1.5; border:0; background:none; box-shadow:none; grid-column:1 / -1; }
.pk-price-scope .pk-ac-options-table { display:grid; grid-column:1 / -1; grid-template-columns:subgrid; overflow:hidden; border:1px solid #d9e9f7; border-radius:12px; background:#fff; }
.pk-price-scope .pk-ac-option-row { display:grid; grid-column:1 / -1; grid-template-columns:subgrid; align-items:center; gap:24px; padding:25px 30px; }
.pk-price-scope .pk-ac-option-row + .pk-ac-option-row { border-top:1px solid #d9e9f7; }
.pk-price-scope .pk-ac-option-info { min-width:0; }
.pk-price-scope .pk-ac-option-info h4, .pk-price-scope .pk-ac-discount-info h4 { margin:0 0 8px; padding:0; color:#173552; font-size:17px; font-weight:700; line-height:1.5; border:0; background:none; box-shadow:none; }
.pikaria-home .pk-price-scope.pk-ac-pricing .pk-ac-option-info p, .pikaria-home .pk-price-scope.pk-ac-pricing .pk-ac-discount-info p, .pikaria-home .pk-price-scope.pk-ac-pricing .pk-ac-price-notes p { margin:0; color:#53677c; font-size:13px; font-weight:400; line-height:1.8; }
.pk-price-scope .pk-ac-option-price, .pk-price-scope .pk-ac-discount-amount { display:flex; flex-direction:column; align-items:flex-start; min-width:0; gap:5px; text-align:left; }
.pk-price-scope .pk-ac-option-price strong, .pk-price-scope .pk-ac-discount-amount strong { color:#1256a0; font-size:25px; font-weight:700; white-space:nowrap; }
.pk-price-scope .pk-ac-option-price strong span, .pk-price-scope .pk-ac-discount-amount strong span { font-size:17px; }
.pk-price-scope .pk-ac-option-price small, .pikaria-home .pk-price-scope.pk-ac-pricing .pk-ac-option-info h4 > small { color:#53677c; font-size:12px; font-weight:400; }
.pikaria-home .pk-price-scope.pk-ac-pricing .pk-ac-option-info h4 > small { margin-left:8px; }

/* 割引 */
.pk-price-scope .pk-ac-discount { display:grid; grid-column:1 / -1; grid-template-columns:subgrid; align-items:center; gap:24px; margin-top:20px; padding:25px 30px; background:#edf6ff; border:1px solid #c0dcf4; border-radius:12px; }
.pk-price-scope .pk-ac-discount-info { min-width:0; }
.pk-price-scope .pk-ac-discount-label { display:inline-block; margin-bottom:10px; padding:4px 11px; background:#fff; border:1px solid #b8d5ec; border-radius:999px; color:#1256a0; font-size:12px; font-weight:700; }
.pk-price-scope .pk-ac-discount-amount small { color:#53677c; font-size:12px; }
.pk-price-scope .pk-ac-price-notes { max-width:940px; margin:22px auto 0; }

/* 出張洗車：基本作業内容 */
.pikaria-home .pk-price-scope.pk-ac-pricing .pk-wash-plan-common { display:flex; align-items:center; max-width:940px; min-height:52px; margin:12px auto 0; padding:0 24px; background:#fff; border:1px solid #d9e9f7; border-radius:8px; color:#1256a0; }
.pk-price-scope .pk-wash-plan-common strong { flex:0 0 auto; font-size:14px; font-weight:700; white-space:nowrap; }
.pk-price-scope .pk-wash-plan-common-divider { flex:0 0 1px; width:1px; height:22px; margin:0 24px; background:#1256a0; }
.pikaria-home .pk-price-scope.pk-ac-pricing .pk-wash-plan-common p { margin:0; color:#1256a0; font-size:14px; font-weight:500; line-height:1.6; }

/* お墓掃除：プラン内作業内容 */
.pk-price-scope.pk-grave-page .pk-ac-price-card { padding:38px 0 15px; }
.pk-price-scope .pk-grave-plan-work { margin-top:28px; overflow:hidden; background:#fff; text-align:left; border:0; border-radius:0; }
.pk-price-scope .pk-grave-plan-work h4 { margin:0; padding:11px 15px; background:#edf6ff; color:#1256a0; font-size:16px; font-weight:700; text-align:center; }
.pk-price-scope .pk-grave-plan-work.is-premium h4 { color:#ffffff; background:#1256a0; font-weight:700; }
.pk-price-scope .pk-grave-plan-work ul { margin:0; padding:8px 20px; list-style:none; }
.pk-price-scope .pk-grave-plan-work li { padding:11px 4px; color:#173552; font-size:15px; font-weight:500; line-height:1.5; }
.pk-price-scope .pk-grave-plan-work.is-premium li { padding-left:12px; color:#1256a0; font-weight:600; }
.pk-price-scope .pk-grave-plan-work li + li { border-top:1px solid #d9e9f7; }
.pk-price-scope.pk-grave-page .pk-ac-price-card > h3, .pk-price-scope.pk-grave-page .pk-ac-price-amount, .pk-price-scope.pk-grave-page .pk-ac-price-tax { padding-left:5%; padding-right:5%; }
.pk-price-scope.pk-grave-page .pk-grave-plan-work { width:100%; margin-left:0; margin-right:0; }
.pk-price-scope.pk-grave-page .pk-grave-plan-work ul { padding-left:5%; padding-right:5%; }
.pk-price-scope.pk-grave-page .pk-grave-plan-work li, .pk-price-scope.pk-grave-page .pk-grave-plan-work.is-premium li { padding-left:0; padding-right:0; }

/* スマホ：768px以下 */
@media screen and (max-width:768px) {
  .pikaria-home.pk-all-prices > .pk-section-title { margin:40px auto 35px; }
  .pk-all-prices > .pk-section-title .pk-title-en { font-size:40px; }
  .pk-all-prices > .pk-section-title .pk-title-ja { font-size:23px; }
  .pikaria-home.pk-all-prices .pk-price-service-name { padding:22px 16px 0; font-size:22px; }
  .pikaria-home .pk-price-scope.pk-ac-pricing .pk-ac-wrap { width:min(100% - 32px, 1200px); }
  .pikaria-home .pk-price-scope.pk-ac-pricing { padding:18px 0 55px; }
  .pikaria-home .pk-price-scope.pk-ac-pricing .pk-ac-heading { margin-bottom:30px; }
  .pikaria-home .pk-price-scope.pk-ac-pricing .pk-ac-heading p { font-size:14px; }
  .pk-price-scope.pk-ac-page .pk-ac-price-card { padding:22px 8px; }
  .pk-price-scope.pk-ac-page .pk-ac-price-card h3, .pk-price-scope.pk-grave-page .pk-ac-price-card h3 { margin-bottom:15px; font-size:clamp(13px, 3.5vw, 16px); white-space:nowrap; }
  .pk-price-scope.pk-ac-page .pk-ac-price-amount, .pk-price-scope.pk-grave-page .pk-ac-price-amount { font-size:clamp(25px, 7vw, 36px); white-space:nowrap; }
  .pk-price-scope.pk-ac-page .pk-ac-price-amount span, .pk-price-scope.pk-grave-page .pk-ac-price-amount span { margin-left:2px; font-size:14px; }
  .pk-price-scope.pk-wash-page .pk-ac-price-card { padding:18px 5px; }
  .pk-price-scope.pk-wash-page .pk-ac-price-card h3 { margin-bottom:15px; font-size:clamp(11px, 3vw, 16px); }
  .pk-price-scope.pk-wash-page .pk-ac-price-amount { font-size:clamp(20px, 5.4vw, 34px); white-space:nowrap; }
  .pk-price-scope.pk-wash-page .pk-ac-price-amount span { margin-left:2px; font-size:12px; }
  .pk-price-scope.pk-grave-page .pk-ac-price-card { padding:22px 0 0; }
  .pikaria-home .pk-price-scope.pk-ac-pricing .pk-ac-price-tax { font-size:11px; }
  .pk-price-scope .pk-ac-options { margin-top:30px; column-gap:10px; }
  .pk-price-scope .pk-ac-options-title { margin-bottom:12px; font-size:19px; }
  .pk-price-scope .pk-ac-option-row { gap:10px; padding:15px 13px; }
  .pk-price-scope .pk-ac-option-info h4, .pk-price-scope .pk-ac-discount-info h4 { margin-bottom:4px; font-size:14px; }
  .pikaria-home .pk-price-scope.pk-ac-pricing .pk-ac-option-info p, .pikaria-home .pk-price-scope.pk-ac-pricing .pk-ac-discount-info p { font-size:11px; line-height:1.5; }
  .pk-price-scope .pk-ac-option-price strong, .pk-price-scope .pk-ac-discount-amount strong { font-size:clamp(17px, 4.4vw, 23px); }
  .pk-price-scope .pk-ac-option-price strong span, .pk-price-scope .pk-ac-discount-amount strong span { font-size:12px; }
  .pk-price-scope .pk-ac-discount { gap:10px; margin-top:12px; padding:15px 13px; }
  .pk-price-scope .pk-ac-discount-label { display:none; }
  .pikaria-home .pk-price-scope.pk-ac-pricing .pk-wash-plan-common { min-height:46px; margin-top:8px; padding:8px 12px; border-radius:6px; }
  .pk-price-scope .pk-wash-plan-common strong { font-size:12px; }
  .pk-price-scope .pk-wash-plan-common-divider { height:20px; margin:0 10px; }
  .pikaria-home .pk-price-scope.pk-ac-pricing .pk-wash-plan-common p { font-size:12px; line-height:1.5; }
  .pk-price-scope .pk-grave-plan-work { margin-top:18px; }
  .pk-price-scope .pk-grave-plan-work h4 { padding:9px 8px; font-size:13px; }
  .pk-price-scope .pk-grave-plan-work ul { padding:5px 10px; }
  .pk-price-scope .pk-grave-plan-work li { padding:8px 2px; font-size:11px; }
}

/* 極小画面：320px以下 */
@media screen and (max-width:320px) {
  .pk-price-scope.pk-wash-page .pk-ac-price-card h3 { font-size:10px; }
  .pk-price-scope.pk-wash-page .pk-ac-price-amount { font-size:16px; }
  .pk-price-scope.pk-wash-page .pk-ac-price-amount span { font-size:10px; }
}

/* 個別ページのPrice見出し */
.pk-price-scope .pk-ac-heading > .pk-section-title { display:flex; flex-direction:column; align-items:center; margin:0 0 20px; padding:0; color:#1256a0; text-align:center; background:none; border:0; box-shadow:none; }
.pk-price-scope .pk-ac-heading > .pk-section-title .pk-title-en { display:block; font-family:Georgia, "Times New Roman", serif; font-size:clamp(36px, 6vw, 72px); font-weight:400; line-height:1.1; letter-spacing:.03em; }
.pk-price-scope .pk-ac-heading > .pk-section-title .pk-title-ja { display:block; margin-top:10px; font-family:"Noto Serif JP", "Yu Mincho", serif; font-size:clamp(20px, 3vw, 36px); font-weight:400; line-height:1.4; letter-spacing:.05em; }
@media screen and (max-width:768px) {
  .pk-price-scope .pk-ac-heading > .pk-section-title .pk-title-en { font-size:40px; }
  .pk-price-scope .pk-ac-heading > .pk-section-title .pk-title-ja { font-size:23px; }
}
.pk-price-scope, .pk-price-scope *, .pk-price-scope *::before, .pk-price-scope *::after { box-sizing:border-box; }
.pk-price-scope { color:#173552; }

/* ==========================================
   SERVICE COMMON
   FLOW / FAQ / NOTICE
   エアコン・洗車・お墓掃除 共通
========================================== */

/* ==========================================
   01 FLOW
========================================== */

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-flow {
    background: #fff;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-flow-grid {
    display: grid;
    grid-template-columns: 1fr;
    max-width: 980px;
    margin: 0 auto;
    gap: 54px;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-flow-card {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 230px;
    grid-template-columns: minmax(0,1fr) 300px;
    grid-template-rows: auto auto 1fr;
    column-gap: 40px;
    row-gap: 10px;
    align-items: center;
    padding: 28px 34px;
    background: #f0f8ff;
    border: 1px solid var(--ac-border);
    border-radius: 13px;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-flow-number {
    display: flex;
    grid-column: 1;
    grid-row: 1;
    align-items: baseline;
    gap: 5px;
    color: var(--ac-blue);
    font-size: 13px;
    font-weight: 700;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-flow-number strong {
    font-size: 38px;
    line-height: 1;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-flow-card h3 {
    grid-column: 1;
    grid-row: 2;
    margin: 0;
    color: #123b69;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.5;
}

.pikaria-home.pk-wash-page .pk-ac-flow-card h3 {
    color: #173552;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-flow-card p {
    grid-column: 1;
    grid-row: 3;
    margin: 0;
    color: #35475d;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.8;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-flow-card img {
    display: block;
    grid-column: 2;
    grid-row: 1 / 4;
    align-self: center;
    width: 300px;
    height: 175px;
    min-height: 0;
    margin: 0;
    aspect-ratio: auto;
    object-fit: cover;
    border-radius: 9px;
}

/* PC：カード間の矢印 */
@media screen and (min-width:769px) {

    .pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page)
    .pk-ac-flow-card:not(:last-child)::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -34px;
        width: 0;
        height: 0;
        border-left: 12px solid transparent;
        border-right: 12px solid transparent;
        border-top: 12px solid #1256a0;
        transform: translateX(-50%);
    }
}

/* 洗車ページのタブレット固有設定 */
@media screen and (min-width:769px) and (max-width:1023px) {

    .pikaria-home.pk-wash-page .pk-ac-flow-grid {
        gap: 10px;
    }

    .pikaria-home.pk-wash-page .pk-ac-flow-card {
        padding: 15px 10px;
    }

    .pikaria-home.pk-wash-page .pk-ac-flow-card h3 {
        font-size: 17px;
    }
}

/* スマホ：3ページ共通 */
@media screen and (max-width:768px) {

    .pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-flow-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-flow-card {
        grid-template-columns: minmax(0,1fr) 45%;
        grid-template-rows: auto auto 1fr;
        column-gap: 12px;
        row-gap: 5px;
        align-items: start;
        min-height: 0;
        padding: 13px;
        border-radius: 10px;
    }

    .pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-flow-number {
        font-size: 11px;
    }

    .pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-flow-number strong {
        font-size: 27px;
    }

    .pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-flow-card h3 {
        font-size: 16px;
        line-height: 1.35;
    }

    .pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-flow-card p {
        font-size: 12px;
        line-height: 1.5;
    }

    .pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-flow-card img {
        width: 100%;
        height: 110px;
        min-height: 0;
        border-radius: 7px;
    }

    /* スマホ：カード間の矢印 */
    .pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page)
    .pk-ac-flow-card:not(:last-child)::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -18px;
        width: 0;
        height: 0;
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        border-top: 8px solid #1256a0;
        transform: translateX(-50%);
    }
}

/* ==========================================
   02 FAQ
========================================== */

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-faq {
    background: #fff;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-faq-list {
    max-width: 900px;
    margin: 0 auto;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-faq-list details {
    margin-bottom: 12px;
    padding: 0 22px;
    background: #fff;
    border: 1px solid var(--ac-border);
    border-radius: 9px;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-faq-list summary {
    padding: 20px 26px 20px 0;
    color: #173552;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    cursor: pointer;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-faq-list summary::marker {
    color: var(--ac-blue);
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-faq-list details p {
    margin: 0;
    padding: 0 0 20px;
    color: #35475d;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.9;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-faq-list details[open] {
    background: #f4faff;
}

/* ==========================================
   03 NOTICE
========================================== */

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-notice {
    background: #fff;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-notice-box {
    padding: 30px;
    background: #f0f8ff;
    border-radius: 14px;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-notice ul {
    margin: 0;
    padding-left: 24px;
    list-style: disc;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-notice li {
    margin: 0 0 10px;
    color: #35475d;
    font-size: 14px;
    line-height: 1.8;
}

@media screen and (max-width:768px) {

    .pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-notice-box {
        padding: 22px;
    }
}

/* ==========================================
   RECOMMEND：サービス3ページ共通
========================================== */
.pikaria-home .pk-wash-recommend {
    padding: 90px 20px;
}

.pikaria-home .pk-wash-recommend-inner {
    max-width: 1100px;
    margin: 0 auto;
}

.pikaria-home .pk-wash-recommend-heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    margin: 0 0 18px;
    padding: 0;
    color: #1256a0;
    text-align: center;
    font-weight: 400;
    border: 0;
    background: none;
    box-shadow: none;
}

.pikaria-home .pk-wash-recommend-heading::before,
.pikaria-home .pk-wash-recommend-heading::after {
    content: none;
    display: none;
}

.pikaria-home .pk-wash-recommend-en {
    display: block;
    font: 400 clamp(36px, 5.5vw, 68px)/1.12
        Georgia, "Times New Roman", serif;
    letter-spacing: .03em;
}

.pikaria-home .pk-wash-recommend-ja {
    display: block;
    font: 400 clamp(20px, 2.7vw, 34px)/1.4
        "Noto Serif JP", "Yu Mincho", serif;
    letter-spacing: .04em;
}

.pikaria-home .pk-wash-recommend .pk-wash-recommend-intro {
    margin: 0 0 30px;
    color: #40556c;
    text-align: center;
    font-size: 15px;
    line-height: 1.8;
}

.pikaria-home .pk-wash-recommend-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.pikaria-home .pk-wash-recommend-card {
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
    min-height: 126px;
    padding: 20px 24px;
    background: #fff;
    border: 1px solid var(--ac-border, #d9e9f7);
    border-radius: 12px;
    box-shadow: 0 5px 18px rgba(18,86,160,.045);
}

.pikaria-home .pk-wash-recommend-card img {
    display: block;
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    object-fit: contain;
}

.pikaria-home .pk-wash-recommend-card h3 {
    margin: 0 0 5px;
    padding: 0;
    color: #123b69;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    border: 0;
    background: none;
    box-shadow: none;
}

.pikaria-home .pk-wash-recommend .pk-wash-recommend-card p {
    margin: 0;
    color: #35475d;
    font-size: 14px;
    line-height: 1.7;
}

.pikaria-home .pk-wash-recommend .pk-wash-recommend-note {
    margin: 15px 0 0;
    color: #53677c;
    font-size: 12px;
    line-height: 1.7;
    text-align: right;
}

/* スマホ */
@media screen and (max-width: 767px) {

    .pikaria-home .pk-wash-recommend {
        padding: 48px 16px 54px;
    }

    .pikaria-home .pk-wash-recommend-heading {
        margin-bottom: 14px;
    }

    .pikaria-home .pk-wash-recommend .pk-wash-recommend-intro {
        margin-bottom: 22px;
        font-size: 13px;
    }

    .pikaria-home .pk-wash-recommend-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .pikaria-home .pk-wash-recommend-card {
        min-height: 94px;
        gap: 12px;
        padding: 12px 14px;
    }

    .pikaria-home .pk-wash-recommend-card img {
        flex-basis: 58px;
        width: 58px;
        height: 58px;
    }

    .pikaria-home .pk-wash-recommend-card h3 {
        margin-bottom: 2px;
        font-size: 15px;
    }

    .pikaria-home .pk-wash-recommend .pk-wash-recommend-card p {
        font-size: 12px;
    }

    .pikaria-home .pk-wash-recommend .pk-wash-recommend-note {
        font-size: 11px;
        text-align: left;
    }
}


/* ==========================================
   BEFORE / AFTER：サービス3ページ共通
========================================== */

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-results {
    background: #f0f8ff;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-results-grid {
    display: grid;
    gap: 20px;
}

/* エアコン・お墓掃除：中央1列 */
.pikaria-home:is(.pk-ac-page,.pk-grave-page) .pk-ac-results-grid {
    grid-template-columns: minmax(0, 800px);
    justify-content: center;
}

/* 洗車：PC横3列 */
.pikaria-home.pk-wash-page .pk-ac-results-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-result {
    min-width: 0;
    padding: 18px;
    background: #fff;
    border: 1px solid var(--ac-border);
    border-radius: 12px;
}

/* 洗車・お墓掃除のカード見出し */
.pikaria-home:is(.pk-wash-page,.pk-grave-page) .pk-ac-result h3 {
    margin: 0 0 16px;
    color: var(--ac-blue);
    font-size: 19px;
    font-weight: 700;
    text-align: center;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-photo-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-photo-pair figure {
    min-width: 0;
    margin: 0;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-photo-pair img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 8px;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-photo-pair figcaption {
    margin-top: 9px;
    color: var(--ac-blue);
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}

/* スマホ：3ページとも縦1列 */
@media screen and (max-width: 768px) {

    .pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-results-grid {
        grid-template-columns: 1fr;
    }

}

/* ==========================================
   PERIOD：サービス3ページ共通
========================================== */

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-period {
    padding: 0 0 75px;
    background: #fff;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-period-box {
    max-width: 940px;
    margin: 0 auto;
    padding: 30px;
    border: 1px solid #c8dfef;
    border-radius: 14px;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-period-heading {
    display: flex;
    align-items: center;
    gap: 18px;
    padding-bottom: 20px;
    border-bottom: 1px solid #d9e9f7;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-period-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 58px;
    height: 58px;
    background: #e9f3ff;
    border-radius: 13px;
    color: var(--ac-blue);
    font-size: 25px;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-period-en {
    color: var(--ac-blue);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-period-heading h2 {
    margin: 4px 0 0;
    color: #123b69;
    font-size: 21px;
}

.pikaria-home.pk-wash-page .pk-ac-period-heading h2 {
    color: #173552;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-period-main {
    margin: 25px 0 15px;
    text-align: center;
    font-size: 17px;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-period-main strong {
    color: #F02828;
    font-size: 32px;
    font-weight: 700;
}

.pikaria-home.pk-wash-page .pk-ac-period-main strong {
    color: var(--ac-blue);
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-period-description {
    max-width: 650px;
    margin: 0 auto 20px;
    color: #53677c;
    font-size: 14px;
    line-height: 1.9;
    text-align: center;
}

.pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-period-note {
    margin: 0;
    padding: 12px;
    background: #f0f8ff;
    border-radius: 7px;
    color: #53677c;
    font-size: 12px;
    text-align: center;
}

/* スマホ */
@media screen and (max-width: 768px) {

    .pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-period {
        padding-bottom: 35px;
    }

    .pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-period-box {
        padding: 18px 16px;
    }

    .pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-period-heading {
        gap: 12px;
        padding-bottom: 12px;
    }

    .pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-period-icon {
        flex-basis: 42px;
        height: 42px;
        font-size: 20px;
        border-radius: 10px;
    }

    .pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-period-en {
        font-size: 10px;
    }

    .pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-period-heading h2 {
        margin-top: 2px;
        font-size: 16px;
    }

    .pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-period-main {
        margin: 15px 0 10px;
        font-size: 14px;
    }

    .pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-period-main strong {
        display: inline;
        margin: 0 0 0 6px;
        font-size: 25px;
    }

    .pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-period-description {
        margin: 0 auto 12px;
        font-size: 12px;
        line-height: 1.6;
    }

    .pikaria-home:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-period-note {
        padding: 9px;
        font-size: 11px;
        line-height: 1.5;
    }
}


/* ==========================================
   WORKSPACE：サービス3ページ共通
========================================== */

:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-workspace {
    max-width: 700px;
    margin: 0 auto 20px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #c8dfef;
    border-radius: 12px;
}

:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-workspace-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 12px 16px;
    background: #1256a0;
    color: #fff;
}

:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-workspace-header h3 {
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: clamp(14px, 2vw, 19px);
    font-weight: 700;
    line-height: 1.5;
    border: 0;
    background: none;
    box-shadow: none;
}

:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-workspace-header strong {
    color: #ffe76a;
    font-weight: 700;
}

:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-workspace-photo {
    width: 100%;
    aspect-ratio: auto;
    overflow: hidden;
    background: #fff;
}

:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-workspace-photo img {
    position: static;
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
    border: 0;
    border-radius: 0;
    transform: none;
}

:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-workspace-footer {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 12px 16px;
    background: #f0f8ff;
}

:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-workspace-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #1256a0;
    color: #fff;
    font-size: 38px;
    font-weight: 800;
    line-height: 1;
}

:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-workspace-message {
    flex: 1;
    min-width: 0;
}

:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-workspace-message p {
    margin: 0;
    color: #173552;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.6;
}

:is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-workspace-message strong {
    color: #1256a0;
    font-weight: 800;
    background: linear-gradient(transparent 76%, #ffe76a 76%);
}

:is(.pk-ac-page,.pk-wash-page,.pk-grave-page)
.pk-ac-workspace-message .pk-ac-workspace-small {
    margin-top: 8px;
    font-size: 13px;
    font-weight: 400;
}

/* スマホ */
@media screen and (max-width: 768px) {

    :is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-workspace {
        max-width: 100%;
        margin-bottom: 16px;
        border-radius: 9px;
    }

    :is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-workspace-header {
        gap: 10px;
        padding: 10px;
    }

    :is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-workspace-header h3 {
        font-size: clamp(13px, 3.5vw, 17px);
        line-height: 1.4;
    }

    :is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-workspace-footer {
        padding: 10px;
    }

    :is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-workspace-icon {
        flex-basis: 35px;
        width: 35px;
        height: 35px;
        font-size: 24px;
    }

    :is(.pk-ac-page,.pk-wash-page,.pk-grave-page) .pk-ac-workspace-message p {
        font-size: 11px;
    }

    :is(.pk-ac-page,.pk-wash-page,.pk-grave-page)
    .pk-ac-workspace-message .pk-ac-workspace-small {
        margin-top: 5px;
        font-size: 11px;
        line-height: 1.5;
    }

    /* 洗車ページ：画像比率 */
    .pk-wash-page .pk-ac-workspace-photo {
        aspect-ratio: 1248 / 700;
    }
}

/* ==========================================
   LINE EASY：LINEでかんたん申し込み
========================================== */

.pk-line-easy {
    position: relative;
    box-sizing: border-box;
    padding: 65px 20px 70px;
    background: #06c755;
    color: #fff;
}

.pk-line-easy *,
.pk-line-easy *::before,
.pk-line-easy *::after {
    box-sizing: border-box;
}

.pk-line-easy-inner {
    max-width: 1200px;
    margin: 0 auto;
}

/* 見出し */

.pk-line-easy-heading {
    margin: 0 0 28px;
    text-align: center;
}

.pk-line-easy .pk-line-easy-catch {
    margin: 0 0 8px;
    color: #fff353;
    font-size: clamp(17px, 2.3vw, 27px);
    font-weight: 700;
    line-height: 1.5;
}

.pk-line-easy-heading h2 {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
    color: #fff;
    font-size: clamp(27px, 3.5vw, 49px);
    font-weight: 800;
    line-height: 1.4;
    text-align: center;
}

.pk-line-easy-heading h2::before,
.pk-line-easy-heading h2::after {
    content: none;
    display: none;
}

.pk-line-easy-heading h2 span {
    font-size: 1.16em;
}

.pk-line-easy-heading h2 strong {
    color: #fff353;
    font-weight: 800;
}

/* PC：カード群＋右側イラスト */

.pk-line-easy-layout {
    display: block;
}

.pk-line-easy-main {
    min-width: 0;
}

/* 白い3ステップカード */

.pk-line-easy-panel {
    padding: 22px;
    background: #fff;
    border-radius: 22px;
}

.pk-line-easy-grid {
    --step-gap: 18px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--step-gap);
}

.pk-line-easy-step {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    padding: 23px 10px 20px;
    background: #f5fbf7;
    border-radius: 15px;
    text-align: center;
}

/* 番号 */

.pk-line-easy-number {
    position: absolute;
    top: 10px;
    left: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 39px;
    height: 39px;
    border-radius: 50%;
    background: #00b945;
    color: #fff;
    font-size: 22px;
    font-weight: 800;
    line-height: 1;
}

/* アイコン */

.pk-line-easy-step img {
    display: block;
    width: 85px;
    height: 85px;
    margin: 0 auto 12px;
    object-fit: contain;
    border: 0;
    box-shadow: none;
}

/* カード内文字 */

.pk-line-easy-step h3 {
    margin: 0 0 10px;
    padding: 0;
    color: #103d27;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.5;
    text-align: center;
    border: 0;
    background: none;
    box-shadow: none;
}

.pk-line-easy-step h3::before,
.pk-line-easy-step h3::after {
    content: none;
    display: none;
}

.pk-line-easy-step p {
    margin: 0;
    padding: 0;
    color: #294a3c;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.7;
    text-align: center;
}

/* ステップ間の矢印 */

.pk-line-easy-step:not(:last-child)::after {
    content: "›";
    position: absolute;
    top: 50%;
    left: calc(100% + var(--step-gap) / 2);
    transform: translate(-50%, -50%);
    z-index: 2;
    color: #00b945;
    font-size: 38px;
    font-weight: 400;
    line-height: 1;
}


/* 黄色のLINEボタン：白枠の外側 */

.pk-line-easy .pk-line-easy-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    width: min(100%, 640px);
    min-height: 72px;
    margin: 22px auto 0;
    padding: 12px 25px;
    border: 0;
    border-radius: 999px;
    background: #fff353;
    box-shadow: 0 7px 17px rgba(0, 0, 0, .12);
    color: #111;
    font-size: clamp(16px, 2vw, 24px);
    font-weight: 800;
    line-height: 1.4;
    text-decoration: none;
    transition: filter .2s, transform .2s;
}

.pk-line-easy-button-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 56px;
    width: 56px;
    height: 48px;
    border-radius: 50%;
    background: #00b945;
    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 17px;
    font-weight: 800;
}

.pk-line-easy-button-arrow {
    font-size: 34px;
    font-weight: 400;
    line-height: 1;
}

@media (hover: hover) {
    .pk-line-easy .pk-line-easy-button:hover {
        filter: brightness(1.04);
        transform: translateY(-2px);
    }
}

.pk-line-easy .pk-line-easy-button:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 4px;
}

/* 右側イラスト */

.pk-line-easy-visual {
   position: absolute;
    top: -25px;
    right: 0;
    width: clamp(150px, 17vw, 320px);
    pointer-events: none;
}

.pk-line-easy-visual img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    border: 0;
    box-shadow: none;
}
/* ==========================================
   LINE EASY：タブレット・スマホ共通
========================================== */

@media screen and (max-width: 1023px) {

    .pk-line-easy {
        padding: 36px 12px 40px;
    }

    .pk-line-easy-heading {
        margin-bottom: 18px;
    }

    .pk-line-easy .pk-line-easy-catch {
        margin-bottom: 6px;
        font-size: clamp(13px, 3.8vw, 18px);
    }

    .pk-line-easy-heading h2 {
        font-size: clamp(19px, 5.1vw, 28px);
        line-height: 1.35;
        letter-spacing: -.04em;
    }

    .pk-line-easy-layout {
        display: block;
    }

    .pk-line-easy-panel {
        padding: 10px;
        border-radius: 16px;
    }

    .pk-line-easy-grid {
        --step-gap: clamp(7px, 1.5vw, 18px);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--step-gap);
    }

    .pk-line-easy-step,
    .pk-line-easy-step:last-child {
        display: flex;
        flex-direction: column;
        align-items: center;
        grid-column: auto;
        min-width: 0;
        padding: 12px 4px;
        text-align: center;
    }

    .pk-line-easy-number {
        top: 5px;
        left: 5px;
        width: clamp(21px, 3vw, 39px);
        height: clamp(21px, 3vw, 39px);
        font-size: clamp(12px, 1.8vw, 22px);
    }

    .pk-line-easy-step img,
    .pk-line-easy-step:last-child img {
        width: clamp(40px, 10vw, 85px);
        height: clamp(40px, 10vw, 85px);
        margin: 8px auto 9px;
    }

    .pk-line-easy-step h3,
    .pk-line-easy-step:last-child h3 {
        margin: 0 0 6px;
        font-size: clamp(11px, 2.5vw, 20px);
        text-align: center;
        white-space: nowrap;
    }

    .pk-line-easy .pk-line-easy-step p,
    .pk-line-easy .pk-line-easy-step:last-child p {
        margin: 0;
        font-size: clamp(10px, 1.8vw, 14px);
        line-height: 1.5;
        text-align: center;
    }

    .pk-line-easy-step:not(:last-child)::after {
        display: block;
        top: 46%;
        right: -12px;
        font-size: clamp(20px, 3vw, 38px);
    }

    .pk-line-easy .pk-line-easy-button {
        width: min(100%, 640px);
        min-height: 52px;
        gap: 8px;
        margin: 16px auto 0;
        padding: 9px 12px;
        font-size: clamp(13px, 2.5vw, 24px);
    }

    .pk-line-easy-button-logo {
        flex: 0 0 38px;
        width: 38px;
        height: 35px;
        font-size: 12px;
    }

    .pk-line-easy-button-arrow {
        font-size: 25px;
    }

    .pk-line-easy-visual {
        display: block;
    position: absolute;
    top: clamp(-20px, -2vw, -8px);
    right: 0;
    width: clamp(75px, 20vw, 200px);
    pointer-events: none;
    }
}



/* ==========================================
   ピカりあ 投稿記事共通デザイン
   1カラム / B案 × E案
========================================== */

/* 記事全体：中央配置・サイドバーなし */
body.single-post .content-in {
    display: block;
}

body.single-post #main {
    float: none;
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: clamp(20px, 4vw, 38px);
    box-sizing: border-box;
}

body.single-post #sidebar {
    display: none;
}

/* 記事タイトル */
body.single-post .entry-title {
    margin: 0 0 12px;
    padding: 0;
    color: #173252;
    font-size: clamp(25px, 3vw, 34px);
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: .01em;
}

/* 投稿タイトル上のカテゴリーバッジ */
body.single-post .entry-categories-tags {
    margin-bottom: 12px;
}

body.single-post .entry-categories-tags .cat-link {
    display: inline-block;
    padding: 5px 13px;
    border: 0;
    border-radius: 999px;
    background: #1256a0;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
    text-decoration: none;
}

body.single-post .entry-categories-tags .cat-link:hover {
    opacity: .85;
}

/* コラム本文内の画像 */
.single-post .entry-content figure.wp-block-image {
    display: table;
    width: fit-content;
    max-width: min(680px, 100%);
    margin: 2rem auto !important;
    float: none !important;
}

.single-post .entry-content figure.wp-block-image img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

/* 投稿日・更新日 */
body.single-post .date-tags {
    margin: 0 0 16px;
    color: #64748b;
    font-size: 13px;
}

/* アイキャッチ画像 */
body.single-post .eye-catch {
    margin: 20px 0 28px;
}

body.single-post .eye-catch img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
}

/* 本文 */
body.single-post .entry-content {
    color: #334155;
    font-size: clamp(15px, 1.5vw, 17px);
    line-height: 1.9;
}

body.single-post .entry-content p {
    margin: 0 0 1.6em;
}

/* 導入文：グループブロック専用 */
body.single-post .entry-content .pk-article-intro {
    margin: 28px 0;
    padding: 12px 0 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #334155;
    line-height: 1.8;
}

body.single-post .entry-content .pk-article-intro::before {
    content: "";
    display: block;
    width: 46px;
    height: 4px;
    margin-bottom: 18px;
    border-radius: 999px;
    background: #1256a0;
}

body.single-post .entry-content .pk-article-intro p:first-child {
    color: #1256a0;
font-size: clamp(18px, 2vw, 22px);
    font-weight: 700;
}

body.single-post .entry-content .pk-article-intro p {
    margin: 0 0 10px;
}

body.single-post .entry-content .pk-article-intro p:last-child {
    margin-bottom: 0;
}

body.single-post .entry-content .pk-article-intro p:last-child {
    margin-bottom: 0;
}

/* 目次 */
body.single-post .article .toc {
    width: 100%;
    max-width: none;
    margin: 32px 0;
    padding: clamp(18px, 3vw, 28px);
    border: 1px solid #dceaf8;
    border-radius: 12px;
    background: #f0f7ff;
    box-sizing: border-box;
}

body.single-post .article .toc-title {
    color: #173252;
    font-size: 19px;
    font-weight: 800;
    text-align: center;
}

body.single-post .article .toc a {
    color: #173252;
    text-decoration: none;
}

body.single-post .article .toc a:hover {
    color: #1256a0;
    text-decoration: underline;
}

/* H2：青い帯 */
body.single-post .entry-content h2:not(.pk-contact h2, .pk-line-easy h2) {
    margin: 6.5rem 0 2rem;
    padding: 13px 18px;
    border: 0;
    border-radius: 7px;
    background: #1256a0;
    box-shadow: none;
    color: #fff;
    font-size: clamp(19px, 2.2vw, 25px);
    font-weight: 800;
    line-height: 1.5;
}

body.single-post .entry-content h2:not(.pk-contact h2, .pk-line-easy h2)::before,
body.single-post .entry-content h2:not(.pk-contact h2, .pk-line-easy h2)::after {
    content: none;
    display: none;
}

/* H3：左側の青ライン */
body.single-post .entry-content h3:not(.pk-line-easy h3)  {
    margin: 32px 0 18px;
    padding: 8px 0 8px 15px;
    border: 0;
    border-left: 4px solid #1256a0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #173252;
    font-size: clamp(17px, 1.8vw, 21px);
    font-weight: 800;
    line-height: 1.5;
}

body.single-post .entry-content h3:not(.pk-line-easy h3)::before,
body.single-post .entry-content h3:not(.pk-line-easy h3)::after {
    content: none;
    display: none;
}

/* 本文中の画像 */
body.single-post .entry-content .wp-block-image {
    margin: 24px 0;
}

body.single-post .entry-content .wp-block-image img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
}

body.single-post .entry-content figcaption {
    color: #64748b;
    font-size: 13px;
    line-height: 1.6;
    text-align: center;
}

/* 比較表 */
body.single-post .entry-content .wp-block-table {
    margin: 24px 0;
    overflow-x: auto;
}

body.single-post .entry-content table {
    width: 100%;
    border-collapse: collapse;
    font-size: clamp(13px, 1.4vw, 15px);
    line-height: 1.6;
}

body.single-post .entry-content th,
body.single-post .entry-content td {
    padding: 12px 10px;
    border: 1px solid #dce4ec;
    text-align: center;
    vertical-align: middle;
}

body.single-post .entry-content th {
    background: #e8f2fc;
    color: #173252;
    font-weight: 800;
}

body.single-post .entry-content td {
    background: #fff;
}

/* 箇条書き */
body.single-post .entry-content ul,
body.single-post .entry-content ol {
    margin: 20px 0 28px;
    padding-left: 1.8em;
}

body.single-post .entry-content li {
    margin-bottom: 8px;
}

/* 本文中のリンク */
body.single-post .entry-content a {
    color: #1256a0;
}

/* ==========================================
   投稿記事：目次デザイン
========================================== */

/* 目次全体 */
body.single-post .article .toc {
    padding: 22px;
    border: 1px solid #dceaf8;
    border-radius: 12px;
    background: #f7fbff;
}

/* 目次タイトル */
body.single-post .article .toc-title {
    margin-bottom: 20px;
    color: #173252;
    font-size: 22px;
    font-weight: 800;
    text-align: center;
}

/* 数字を非表示 */
body.single-post .article .toc-content ol,
body.single-post .article .toc-content ul {
    list-style: none !important;
    padding-left: 0;
}

body.single-post .article .toc-content li::marker {
    content: "";
}

/* 親項目 */
body.single-post .article .toc-list > li {
    margin: 0 0 16px;
}

body.single-post .article .toc-list > li > a {
    position: relative;
    display: block;
    padding-left: 30px;
    color: #173252;
    font-size: clamp(16px, 2vw, 19px);
    font-weight: 700;
    line-height: 1.6;
    text-decoration: none;
}

body.single-post .article .toc-list > li > a::before {
    content: "▶";
    position: absolute;
    top: .4em;
    left: 0;
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #1256a0;
    color: #fff;
    font-size: 10px;
    line-height: 1;
}

/* 子項目 */
body.single-post .article .toc-list > li > ol,
body.single-post .article .toc-list > li > ul {
    margin: 10px 0 0 30px;
}

body.single-post .article .toc-list > li > ol > li,
body.single-post .article .toc-list > li > ul > li {
    margin-bottom: 8px;
}

body.single-post .article .toc-list li li > a {
    position: relative;
    display: block;
    padding-left: 18px;
    color: #53677c;
    font-size: clamp(14px, 1.6vw, 16px);
    font-weight: 400;
    line-height: 1.6;
    text-decoration: none;
}

body.single-post .article .toc-list li li > a::before {
    content: "";
    position: absolute;
    top: .7em;
    left: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #8cc63f;
}

/* ホバー */
body.single-post .article .toc-content a:hover {
    color: #1256a0;
}

/* スマホ調整 */
@media screen and (max-width: 600px) {

    body.single-post #main {
        padding: 20px 14px;
    }

   body.single-post .entry-content h2:not(.pk-contact h2, .pk-line-easy h2) {
        margin-top: 3rem;
        padding: 12px 14px;
    }

    body.single-post .entry-content h3:not(.pk-line-easy h3) {
        margin-top: 26px;
    }

    body.single-post .entry-content th,
    body.single-post .entry-content td {
        padding: 9px 6px;
    }
}


/* ==================================================
   ピカりあ｜投稿記事専用 CTA
   LINE・お問い合わせ 完全独立版
================================================== */

body.single-post  .pk-article-cta {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: clamp(5rem, 8vw, 8rem) 0 clamp(5rem, 8vw, 8rem);
    box-sizing: border-box;
    color: #173552;
    line-height: 1.7;
}

body.single-post  .pk-article-cta *,
body.single-post  .pk-article-cta *::before,
body.single-post  .pk-article-cta *::after {
    box-sizing: border-box;
}

body.single-post .pk-article-cta a {
    text-decoration: none;
}

body.single-post .pk-article-cta p {
    margin: 0;
    padding: 0;
}

body.single-post  .pk-article-cta-line h2,
body.single-post  .pk-article-cta-line h3  {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    text-shadow: none;
    letter-spacing: normal;
}

body.single-post.pk-article-cta h2::before,
body.single-post  .pk-article-cta h2::after,
body.single-post  .pk-article-cta h3::before,
body.single-post  .pk-article-cta h3::after {
    content: none;
    display: none;
}

/* ==================================================
   01. LINEでかんたん申し込み
================================================== */

body.single-post .pk-article-cta-line {
    position: relative;
    width: 100%;
    min-width: 0;
    padding: 48px 18px 52px;
    overflow: hidden;
    background: #06c755;
    color: #ffffff;
}

body.single-post  .pk-article-cta-line-inner {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

/* 見出し */

body.single-post .pk-article-cta-line-heading {
    position: relative;
    z-index: 1;
    margin: 0 0 25px;
    text-align: center;
}

body.single-post .pk-article-cta-line-catch {
    margin: 0 0 8px;
    color: #fff353;
    font-size: clamp(15px, 2vw, 22px);
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

body.single-post  .pk-article-cta-line h2.pk-article-cta-line-title {
    display: block;
    margin: 0;
    padding: 0;
    color: #ffffff;
    background: none;
    border: 0;
    box-shadow: none;
    font-size: clamp(25px, 3.5vw, 38px);
    font-weight: 800;
    line-height: 1.4;
    text-align: center;
}

body.single-post .pk-article-cta-line-title span {
    font-size: 1.16em;
}

body.single-post .pk-article-cta-line-title strong {
    color: #fff353;
    font-weight: 800;
}

/* 白い3ステップパネル */

body.single-post .pk-article-cta-line-panel {
    position: relative;
    z-index: 1;
    padding: 16px;
    background: #ffffff;
    border-radius: 20px;
}

body.single-post  .pk-article-cta-line-grid {
    --pk-cta-step-gap: 14px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--pk-cta-step-gap);
}

body.single-post  .pk-article-cta-line-step {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    padding: 23px 7px 20px;
    background: #f5fbf7;
    border-radius: 15px;
    text-align: center;
}

/* ステップ番号 */

body.single-post  .pk-article-cta-line-number {
    position: absolute;
    top: 8px;
    left: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #00b945;
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
}

/* ステップ画像 */

body.single-post  .pk-article-cta-line-step img {
    display: block;
    width: 70px;
    max-width: 100%;
    height: 70px;
    margin: 0 auto 12px;
    padding: 0;
    object-fit: contain;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

/* ステップ見出し */

body.single-post  .pk-article-cta-line h3.pk-article-cta-line-step-title {
    display: block;
    margin: 0 0 9px;
    padding: 0;
    color: #103d27;
    background: none;
    border: 0;
    box-shadow: none;
    font-size: clamp(14px, 1.8vw, 19px);
    font-weight: 800;
    line-height: 1.5;
    text-align: center;
}

/* ステップ説明文 */

body.single-post  .pk-article-cta-line-step p {
    margin: 0;
    color: #294a3c;
    font-size: clamp(12px, 1.4vw, 14px);
    font-weight: 500;
    line-height: 1.7;
    text-align: center;
}

/* ステップ間の矢印 */

body.single-post  .pk-article-cta-line-step:not(:last-child)::after {
    content: "›";
    position: absolute;
    top: 50%;
    left: calc(100% + var(--pk-cta-step-gap) / 2);
    z-index: 2;
    display: block;
    transform: translate(-50%, -50%);
    color: #00b945;
    font-size: 32px;
    font-weight: 400;
    line-height: 1;
}

/* 黄色のLINEボタン */

body.single-post  a.pk-article-cta-line-button {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: min(100%, 560px);
    min-height: 64px;
    margin: 22px auto 0;
    padding: 10px 18px;
    background: #fff353;
    color: #111111;
    border: 0;
    border-radius: 999px;
    box-shadow: 0 7px 17px rgba(0,0,0,.12);
    font-size: clamp(16px, 2vw, 21px);
    font-weight: 800;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    transition: filter .2s, transform .2s;
}

body.single-post  .pk-article-cta-line-button-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 42px;
    border-radius: 50%;
    background: #00b945;
    color: #ffffff;
    font-family: Arial, sans-serif;
    font-size: 14px;
    font-weight: 800;
}

body.single-post  .pk-article-cta-line-button-arrow {
    flex-shrink: 0;
    font-size: 30px;
    font-weight: 400;
    line-height: 1;
}

@media (hover: hover) {
    body.single-post .entry-content a.pk-article-cta-line-button:hover {
        filter: brightness(1.04);
        transform: translateY(-2px);
    }
}

body.single-post  a.pk-article-cta-line-button:focus-visible {
    outline: 3px solid #ffffff;
    outline-offset: 4px;
}

/* 右側イラスト */

body.single-post  .pk-article-cta-line-visual {
    position: absolute;
    top: -35px;
    right: -8px;
    width: 92px;
    pointer-events: none;
}

body.single-post  .pk-article-cta-line-visual img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    border: 0;
    box-shadow: none;
}

/* ==================================================
   02. お問い合わせ
================================================== */

body.single-post  .pk-article-cta-contact {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 55px 18px 60px;
    background: #ffffff;
    color: #173552;
}

body.single-post  .pk-article-cta-contact-inner {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

/* Contact + お問い合わせ */
/* ==========================================
   投稿用 CONTACT：固定ページと同じ見出し
========================================== */

body.single-post  .pk-article-cta-contact h2.pk-article-cta-contact-title {
    display: flex;
    flex-direction: column;
    align-items: center;

    margin: 0 0 45px;
    padding: 0;

    color: #1256a0;
    text-align: center;

    font-size: clamp(36px, 6vw, 72px);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: normal;

    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body.single-post  .pk-article-cta-contact h2.pk-article-cta-contact-title::before,
body.single-post  .pk-article-cta-contact h2.pk-article-cta-contact-title::after {
    content: none;
    display: none;
}

body.single-post  .pk-article-cta-contact .pk-article-cta-contact-title-en {
    display: block;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 1em;
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: .03em;
}

body.single-post  .pk-article-cta-contact .pk-article-cta-contact-title-ja {
    display: block;
    margin-top: .15em;

    font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: .5em;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: .05em;
}



/* 説明文 */

body.single-post  .pk-article-cta-contact-description {
    margin: 0;
    padding: 0;
    color: #173552;
    font-size: clamp(16px, 1.6vw, 20px);
    font-weight: 700;
    line-height: 1.8;
    text-align: center;
}

body.single-post  .pk-article-cta-contact-sp-br {
    display: none;
}

/* お問い合わせカード */

body.single-post  .pk-article-cta-contact-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
    margin: 34px auto 0;
}

body.single-post  a.pk-article-cta-contact-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
    padding: 22px 18px;
    background: #ffffff;
    color: #173552;
    border: 1px solid #e0eaf4;
    border-radius: 18px;
    box-shadow: 0 8px 25px rgba(18,86,160,.10);
    text-decoration: none;
    transition: transform .2s, box-shadow .2s;
}

body.single-post  .pk-article-cta-contact-line {
    border-color: #d7eddd;
}

body.single-post  .pk-article-cta-contact-phone {
    border-color: #d9e6f5;
}

/* アイコン */

body.single-post  .pk-article-cta-contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
}

body.single-post  .pk-article-cta-contact-line-icon {
    background: none;
    color: #06c755;
}

body.single-post .pk-article-cta-contact-line-icon i {
    font-family: "Font Awesome 5 Brands" !important;
    font-weight: 400 !important;
    font-style: normal;
    font-size: 48px;
    color: #06c755;
}

body.single-post  .pk-article-cta-contact-phone-icon {
    background: #e7f3ff;
    color: #1256a0;
    border-radius: 50%;
}

body.single-post .pk-article-cta-contact-phone-icon i {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    font-style: normal;
    font-size: 27px;
    color: #1256a0;
}

/* カード内文字 */

body.single-post .pk-article-cta-contact-text {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
}

body.single-post  .pk-article-cta-contact-name {
    font-size: clamp(17px, 1.8vw, 23px);
    font-weight: 700;
    line-height: 1.4;
}

body.single-post  .pk-article-cta-contact-line .pk-article-cta-contact-name {
    color: #06c755;
}

body.single-post .pk-article-cta-contact-phone .pk-article-cta-contact-name {
    color: #1256a0;
}

body.single-post  .pk-article-cta-contact-note {
    color: #53677c;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
}

body.single-post  .pk-article-cta-contact-caution {
    display: block;
    margin-top: 2px;
    color: #53677c;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.5;
}

/* 矢印 */

body.single-post  .pk-article-cta-contact-arrow {
    flex-shrink: 0;
    font-size: 26px;
    font-weight: 400;
    line-height: 1;
}

body.single-post  .pk-article-cta-contact-line .pk-article-cta-contact-arrow {
    color: #159a46;
}

body.single-post  .pk-article-cta-contact-phone .pk-article-cta-contact-arrow {
    color: #1256a0;
}

/* ホバー・フォーカス */

@media (hover: hover) {
    body.single-post  a.pk-article-cta-contact-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 12px 28px rgba(18,86,160,.14);
    }
}

body.single-post  a.pk-article-cta-contact-card:focus-visible {
    outline: 3px solid #2385c8;
    outline-offset: 4px;
}

/* ==================================================
   03. タブレット・スマホ
================================================== */

@media screen and (max-width: 767px) {

    /* LINE */

    body.single-post  .pk-article-cta-line {
        padding: 36px 12px 40px;
    }

    body.single-post  .pk-article-cta-line-heading {
        margin-bottom: 18px;
    }

    body.single-post  .pk-article-cta-line-catch {
        font-size: clamp(13px, 3.8vw, 18px);
    }

    body.single-post  .pk-article-cta-line h2.pk-article-cta-line-title {
        font-size: clamp(19px, 5.1vw, 28px);
        line-height: 1.35;
        letter-spacing: -.04em;
    }

    body.single-post  .pk-article-cta-line-panel {
        padding: 9px;
        border-radius: 16px;
    }

    body.single-post  .pk-article-cta-line-grid {
        --pk-cta-step-gap: 7px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.single-post  .pk-article-cta-line-step {
        padding: 12px 4px;
        border-radius: 11px;
    }

    body.single-post .pk-article-cta-line-number {
        top: 5px;
        left: 5px;
        width: 22px;
        height: 22px;
        font-size: 12px;
    }

    body.single-post .pk-article-cta-line-step img {
        width: clamp(38px, 10vw, 65px);
        height: clamp(38px, 10vw, 65px);
        margin: 8px auto 9px;
    }

    body.single-post  .pk-article-cta-line h3.pk-article-cta-line-step-title {
        margin-bottom: 6px;
        font-size: clamp(10px, 2.6vw, 16px);
        white-space: nowrap;
    }

    body.single-post .pk-article-cta-line-step p {
        font-size: clamp(9px, 2.2vw, 13px);
        line-height: 1.5;
    }

    body.single-post  .pk-article-cta-line-step:not(:last-child)::after {
        top: 46%;
        font-size: 23px;
    }

    body.single-post  a.pk-article-cta-line-button {
        min-height: 52px;
        gap: 8px;
        margin-top: 16px;
        padding: 9px 12px;
        font-size: clamp(13px, 3vw, 18px);
    }

    body.single-post  .pk-article-cta-line-button-logo {
        flex-basis: 38px;
        width: 38px;
        height: 35px;
        font-size: 12px;
    }

    body.single-post .pk-article-cta-line-button-arrow {
        font-size: 25px;
    }

    body.single-post  .pk-article-cta-line-visual {
        display: none;
    }

    /* CONTACT */

    body.single-post  .pk-article-cta-contact {
        padding: 40px 12px 45px;
    }

    body.single-post .pk-article-cta-contact h2.pk-article-cta-contact-title {
        margin-bottom: 28px;
        font-size: clamp(36px, 9vw, 54px);
    }

    body.single-post .pk-article-cta-contact-sp-br {
        display: inline;
    }

    body.single-post  .pk-article-cta-contact-buttons {
        grid-template-columns: 1fr;
        gap: 18px;
        margin-top: 30px;
    }

    body.single-post  a.pk-article-cta-contact-card {
        gap: 15px;
        padding: 20px 16px;
        border-radius: 14px;
    }

    body.single-post  .pk-article-cta-contact-icon {
        flex-basis: 54px;
        width: 54px;
        height: 54px;
    }

    body.single-post  .pk-article-cta-contact-name {
        font-size: clamp(17px, 4.4vw, 22px);
    }

    body.single-post  .pk-article-cta-contact-note {
        font-size: 12px;
    }

    body.single-post  .pk-article-cta-contact-arrow {
        font-size: 24px;
    }
}


/* ==========================================
   TOPページ コラム記事カード
========================================== */

/* カード全体 */
.pikaria-home .pk-blog-card {
    min-width: 0;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #dce8f4;
    border-radius: 14px;
    box-shadow: 0 6px 20px rgba(18, 86, 160, 0.09);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

/* カード全体をリンクにする */
.pikaria-home .pk-blog-card > a {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

/* 記事画像 */
.pikaria-home .pk-blog-card .pk-blog-image {
    overflow: hidden;
    aspect-ratio: 16 / 10;
}

.pikaria-home .pk-blog-card .pk-blog-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 画像下のテキスト部分 */
.pikaria-home .pk-blog-card .pk-blog-content {
    flex: 1;
    padding: 22px 24px 26px;
}

/* カテゴリ */
.pikaria-home .pk-blog-card .pk-blog-category {
    display: block;
    margin-bottom: 12px;
    color: #1256a0;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
}

/* 記事タイトル */
.pikaria-home .pk-blog-card .pk-blog-content h3 {
    margin: 0;
    padding: 0;
    color: #173552;
    font-size: clamp(16px, 1.5vw, 20px);
    font-weight: 700;
    line-height: 1.65;
    text-align: left;
    background: none;
    border: 0;
    box-shadow: none;
}

/* ホバーで少し浮かせる */
@media (hover: hover) {
    .pikaria-home .pk-blog-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 28px rgba(18, 86, 160, 0.15);
    }
}

/* スマホ */
@media screen and (max-width: 768px) {
    .pikaria-home .pk-blog-card .pk-blog-content {
        padding: 18px 20px 22px;
    }

    .pikaria-home .pk-blog-card .pk-blog-content h3 {
        font-size: 17px;
    }
}

/* ========================================
   TOPページ コラム記事カード
   「記事を読む →」を追加
======================================== */

.pikaria-home .pk-blog-card .pk-blog-content::after {
    content: "記事を読む  →";
    display: block;

    margin-top: 20px;

    color: #1256a0;
    font-size: clamp(13px, 1.2vw, 15px);
    font-weight: 700;
    line-height: 1.5;
    text-align: right;
}

/* ==========================================
   コラム一覧｜TOPページとカードデザイン統一
========================================== */

/* カード全体 */
.pk-column-card {
    min-width: 0;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #dce8f4;
    border-radius: 14px;
    box-shadow: 0 6px 20px rgba(18, 86, 160, 0.09);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

/* カード全体をリンクに */
.pk-column-card > a {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

/* 記事画像 */
.pk-column-card > a > img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    height: auto;
    object-fit: cover;
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

/* 画像下の本文 */
.pk-column-card .pk-column-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 22px 24px 26px;
}

/* カテゴリ */
.pk-column-card .pk-column-category {
    display: block;
    margin-bottom: 12px;
    color: #1256a0;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
}

/* 記事タイトル */
.pk-column-card .pk-column-card-body h2 {
    margin: 0;
    padding: 0;
    color: #173552;
    font-size: clamp(16px, 1.5vw, 20px);
    font-weight: 700;
    line-height: 1.65;
    text-align: left;
    background: none;
    border: 0;
    box-shadow: none;
}

/* 見出しの装飾を解除 */
.pk-column-card .pk-column-card-body h2::before,
.pk-column-card .pk-column-card-body h2::after {
    content: none;
    display: none;
}

/* 投稿日を非表示 */
.pk-column-card .pk-column-date {
    display: none;
}

/* 「記事を読む →」 */
.pk-column-card .pk-column-card-body::after {
    content: "記事を読む  →";
    display: block;
    margin-top: auto;
    padding-top: 20px;
    color: #1256a0;
    font-size: clamp(13px, 1.2vw, 15px);
    font-weight: 700;
    line-height: 1.5;
    text-align: right;
}

/* ホバー */
@media (hover: hover) {
    .pk-column-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 28px rgba(18, 86, 160, 0.15);
    }
}

/* スマホ */
@media screen and (max-width: 768px) {
    .pk-column-card .pk-column-card-body {
        padding: 18px 20px 22px;
    }

    .pk-column-card .pk-column-card-body h2 {
        font-size: 17px;
    }
}

/* ==========================================
   コラムカード：タブレット・スマホ 2列表示
   TOPページ・コラム一覧 共通
========================================== */

@media screen and (max-width: 1023px) {

    

    /* コラム一覧：2列 */
    body :has(> .pk-column-card) {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(10px, 2vw, 20px);
    }

    /* カードのはみ出し防止 */
    .pk-blog-card,
    .pk-column-card {
        min-width: 0;
    }

    /* テキスト部分の余白 */
    .pikaria-home .pk-blog-card .pk-blog-content,
    .pk-column-card .pk-column-card-body {
        padding: clamp(10px, 2vw, 18px);
    }

    /* カテゴリ */
    .pikaria-home .pk-blog-card .pk-blog-category,
    .pk-column-card .pk-column-category {
        margin-bottom: 8px;
        font-size: clamp(10px, 1.5vw, 13px);
    }

    /* 記事タイトル */
    .pikaria-home .pk-blog-card .pk-blog-content h3,
    .pk-column-card .pk-column-card-body h2 {
        font-size: clamp(12px, 1.8vw, 17px);
        line-height: 1.6;
        overflow-wrap: anywhere;
    }

    /* 記事を読む */
    .pikaria-home .pk-blog-card .pk-blog-content::after,
    .pk-column-card .pk-column-card-body::after {
        padding-top: 0;
        margin-top: 14px;
        font-size: clamp(11px, 1.5vw, 14px);
    }
}

/* ========================================
   ピカりあ コラム専用テーブル
======================================== */

/* テーブル全体 */
body.single-post .entry-content .pk-article-table table {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
    border: 1px solid #dce8f4;
}

/* ヘッダーの濃い線を削除 */
body.single-post .entry-content .pk-article-table thead {
    border: none !important;
}

/* ヘッダー：ブランドブルー */
body.single-post .entry-content .pk-article-table thead th {
    background: #1256a0 !important;
    color: #ffffff !important;
    border: 1px solid #1256a0 !important;
    padding: 14px 16px;
    font-weight: 700;
    text-align: left;
}

/* 本文：白背景 */
body.single-post .entry-content .pk-article-table tbody td {
    background: #ffffff !important;
    color: #173552;
    border: 1px solid #dce8f4 !important;
    padding: 14px 16px;
    text-align: left;
}

/* 本文：奇数行のみ薄い青 */
body.single-post .entry-content .pk-article-table tbody tr:nth-child(odd) td {
    background: #f0f6fc !important;
}


/* パンくずリスト内のアイコンを非表示 */
.breadcrumb .fa-home,
.breadcrumb .fa-folder,
.breadcrumb .fa-file,
.breadcrumb .fa-file-o {
    display: none !important;
}

/* Flexible Table：スマホの文字サイズ */
@media (max-width: 767px) {
  body.single-post .entry-content .wp-block-flexible-table-block-table th,
  body.single-post .entry-content .wp-block-flexible-table-block-table td {
    font-size: clamp(12px, 2.5vw + 5px, 15px) !important;
    line-height: 1.6;
  }
}

/* 記事のカテゴリーラベル：フォルダーアイコン非表示 */
body.single-post .cat-icon.fa-folder {
    display: none !important;
}