.elementor-kit-6{--e-global-color-primary:#000000;--e-global-color-secondary:#FFFFFF;--e-global-color-text:#EEE2C3;--e-global-color-accent:#F098A4;--e-global-typography-primary-font-family:"Zen Kaku Gothic New";--e-global-typography-primary-font-size:19px;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-text-transform:none;--e-global-typography-primary-text-decoration:none;--e-global-typography-primary-line-height:2.32em;--e-global-typography-primary-letter-spacing:0px;--e-global-typography-secondary-font-family:"Zen Kaku Gothic New";--e-global-typography-secondary-font-size:17px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-text-decoration:none;--e-global-typography-secondary-line-height:2.06em;--e-global-typography-secondary-letter-spacing:0px;--e-global-typography-text-font-family:"Zen Kaku Gothic New";--e-global-typography-text-font-size:19px;--e-global-typography-text-font-weight:700;--e-global-typography-text-text-transform:none;--e-global-typography-text-text-decoration:none;--e-global-typography-text-line-height:1.84em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Zen Kaku Gothic New";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:none;--e-global-typography-accent-text-decoration:none;--e-global-typography-accent-line-height:2.19em;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-68a12a2-font-family:"Zen Kaku Gothic New";--e-global-typography-68a12a2-font-size:19px;--e-global-typography-68a12a2-font-weight:700;--e-global-typography-68a12a2-text-transform:none;--e-global-typography-68a12a2-text-decoration:none;--e-global-typography-68a12a2-line-height:2.37em;--e-global-typography-68a12a2-letter-spacing:0.05em;--e-global-typography-13e3ce2-font-family:"Zen Kaku Gothic New";--e-global-typography-13e3ce2-font-size:19px;--e-global-typography-13e3ce2-font-weight:700;--e-global-typography-13e3ce2-text-transform:none;--e-global-typography-13e3ce2-text-decoration:none;--e-global-typography-13e3ce2-line-height:2.32em;--e-global-typography-13e3ce2-letter-spacing:0.03em;--e-global-typography-5703ff1-font-family:"Zen Kaku Gothic New";--e-global-typography-5703ff1-font-size:19px;--e-global-typography-5703ff1-font-weight:700;--e-global-typography-5703ff1-text-transform:none;--e-global-typography-5703ff1-text-decoration:none;--e-global-typography-5703ff1-line-height:2.32em;--e-global-typography-5703ff1-letter-spacing:0.06em;--e-global-typography-474563d-font-family:"Zen Kaku Gothic New";--e-global-typography-474563d-font-size:23px;--e-global-typography-474563d-font-weight:700;--e-global-typography-474563d-text-transform:none;--e-global-typography-474563d-text-decoration:none;--e-global-typography-474563d-line-height:1em;--e-global-typography-474563d-letter-spacing:0px;--e-global-typography-64cdb4f-font-family:"Aoboshi One";--e-global-typography-64cdb4f-font-size:25px;--e-global-typography-64cdb4f-font-weight:400;--e-global-typography-64cdb4f-text-transform:none;--e-global-typography-64cdb4f-text-decoration:none;--e-global-typography-64cdb4f-line-height:1em;--e-global-typography-64cdb4f-letter-spacing:0px;--e-global-typography-59ff1c7-font-family:"Aoboshi One";--e-global-typography-59ff1c7-font-size:30px;--e-global-typography-59ff1c7-font-weight:400;--e-global-typography-59ff1c7-text-transform:none;--e-global-typography-59ff1c7-text-decoration:none;--e-global-typography-59ff1c7-line-height:normal;--e-global-typography-59ff1c7-letter-spacing:0em;--e-global-typography-daa32f8-font-family:"Aoboshi One";--e-global-typography-daa32f8-font-size:30px;--e-global-typography-daa32f8-font-weight:400;--e-global-typography-daa32f8-text-transform:none;--e-global-typography-daa32f8-text-decoration:none;--e-global-typography-daa32f8-line-height:1em;--e-global-typography-daa32f8-letter-spacing:-2px;--e-global-typography-886dffc-font-family:"Aoboshi One";--e-global-typography-886dffc-font-size:55px;--e-global-typography-886dffc-font-weight:400;--e-global-typography-886dffc-text-transform:none;--e-global-typography-886dffc-text-decoration:none;--e-global-typography-886dffc-line-height:1em;--e-global-typography-886dffc-letter-spacing:-2px;--e-global-typography-3dbb54a-font-family:"Zen Kaku Gothic New";--e-global-typography-3dbb54a-font-size:23px;--e-global-typography-3dbb54a-font-weight:700;--e-global-typography-3dbb54a-text-transform:none;--e-global-typography-3dbb54a-text-decoration:none;--e-global-typography-3dbb54a-line-height:1.91em;--e-global-typography-3dbb54a-letter-spacing:0em;--e-global-typography-26f2361-font-family:"Aoboshi One";--e-global-typography-26f2361-font-size:50px;--e-global-typography-26f2361-font-weight:400;--e-global-typography-26f2361-text-transform:none;--e-global-typography-26f2361-text-decoration:none;--e-global-typography-26f2361-line-height:1em;--e-global-typography-26f2361-letter-spacing:0px;--e-global-typography-6d2f24f-font-family:"Zen Kaku Gothic New";--e-global-typography-6d2f24f-font-size:35px;--e-global-typography-6d2f24f-font-weight:700;--e-global-typography-6d2f24f-text-transform:none;--e-global-typography-6d2f24f-text-decoration:none;--e-global-typography-6d2f24f-line-height:1.26em;--e-global-typography-6d2f24f-letter-spacing:0px;--e-global-typography-f652f5a-font-family:"Zen Kaku Gothic New";--e-global-typography-f652f5a-font-size:30px;--e-global-typography-f652f5a-font-weight:700;--e-global-typography-f652f5a-text-transform:none;--e-global-typography-f652f5a-text-decoration:none;--e-global-typography-f652f5a-line-height:1.47em;--e-global-typography-f652f5a-letter-spacing:0px;--e-global-typography-c85f197-font-family:"Zen Kaku Gothic New";--e-global-typography-c85f197-font-size:17px;--e-global-typography-c85f197-font-weight:700;--e-global-typography-c85f197-text-transform:none;--e-global-typography-c85f197-text-decoration:none;--e-global-typography-c85f197-line-height:1em;--e-global-typography-c85f197-letter-spacing:0px;--e-global-typography-b4cd34e-font-family:"Zen Kaku Gothic New";--e-global-typography-b4cd34e-font-size:17px;--e-global-typography-b4cd34e-font-weight:700;--e-global-typography-b4cd34e-text-transform:none;--e-global-typography-b4cd34e-text-decoration:none;--e-global-typography-b4cd34e-line-height:2.59em;--e-global-typography-b4cd34e-letter-spacing:0em;--e-global-typography-88b334a-font-family:"Zen Kaku Gothic New";--e-global-typography-88b334a-font-size:14px;--e-global-typography-88b334a-font-weight:700;--e-global-typography-88b334a-text-transform:none;--e-global-typography-88b334a-text-decoration:none;--e-global-typography-88b334a-line-height:2.14em;--e-global-typography-88b334a-letter-spacing:0em;--e-global-typography-b5496b9-font-family:"Aoboshi One";--e-global-typography-b5496b9-font-weight:400;--e-global-typography-8803a5c-font-family:"Zen Kaku Gothic New";--e-global-typography-8803a5c-font-size:19px;--e-global-typography-8803a5c-font-weight:700;--e-global-typography-8803a5c-text-transform:none;--e-global-typography-8803a5c-text-decoration:none;--e-global-typography-8803a5c-line-height:1.84em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-secondary );font-family:"Zen Kaku Gothic New", Sans-serif;font-size:17px;font-weight:700;line-height:44px;color:var( --e-global-color-primary );border-style:none;border-radius:0px 0px 0px 0px;padding:0px 20px 0px 20px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 p{margin-block-end:0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-primary-font-size:16.91px;--e-global-typography-primary-line-height:2.2em;--e-global-typography-secondary-font-size:15.98px;--e-global-typography-secondary-line-height:1.96em;--e-global-typography-text-font-size:16.91px;--e-global-typography-text-line-height:1.75em;--e-global-typography-accent-font-size:15.04px;--e-global-typography-accent-line-height:2.08em;--e-global-typography-68a12a2-font-size:16.91px;--e-global-typography-68a12a2-line-height:2.25em;--e-global-typography-13e3ce2-font-size:16.91px;--e-global-typography-13e3ce2-line-height:2.2em;--e-global-typography-5703ff1-font-size:16.91px;--e-global-typography-5703ff1-line-height:2.2em;--e-global-typography-474563d-font-size:19.78px;--e-global-typography-474563d-line-height:1.2em;--e-global-typography-64cdb4f-font-size:18px;--e-global-typography-64cdb4f-line-height:1.2em;--e-global-typography-59ff1c7-font-size:21.27px;--e-global-typography-daa32f8-font-size:21.27px;--e-global-typography-daa32f8-line-height:1.2em;--e-global-typography-886dffc-font-size:28.44px;--e-global-typography-886dffc-line-height:1.2em;--e-global-typography-3dbb54a-font-size:19.78px;--e-global-typography-3dbb54a-line-height:1.81em;--e-global-typography-26f2361-font-size:27.8px;--e-global-typography-26f2361-line-height:1.2em;--e-global-typography-6d2f24f-font-size:23.45px;--e-global-typography-6d2f24f-line-height:1.26em;--e-global-typography-f652f5a-font-size:21.27px;--e-global-typography-f652f5a-line-height:1.47em;--e-global-typography-c85f197-font-size:15.98px;--e-global-typography-c85f197-line-height:1.2em;--e-global-typography-b4cd34e-font-size:15.98px;--e-global-typography-b4cd34e-line-height:2.46em;--e-global-typography-88b334a-font-size:12.04px;--e-global-typography-88b334a-line-height:2.03em;--e-global-typography-b5496b9-font-size:36px;--e-global-typography-b5496b9-letter-spacing:-0.02em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:85%;}.e-con{--container-max-width:85%;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-primary-font-size:17.86px;--e-global-typography-primary-line-height:1.97em;--e-global-typography-secondary-font-size:14.96px;--e-global-typography-secondary-line-height:1.75em;--e-global-typography-text-font-size:17.86px;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-size:14.08px;--e-global-typography-accent-line-height:1.86em;--e-global-typography-68a12a2-font-size:17.86px;--e-global-typography-68a12a2-line-height:2.01em;--e-global-typography-13e3ce2-font-size:17.86px;--e-global-typography-13e3ce2-line-height:1.97em;--e-global-typography-5703ff1-font-size:17.86px;--e-global-typography-5703ff1-line-height:1.97em;--e-global-typography-474563d-font-size:17.48px;--e-global-typography-474563d-line-height:1.2em;--e-global-typography-64cdb4f-font-size:18.25px;--e-global-typography-64cdb4f-line-height:1.2em;--e-global-typography-59ff1c7-font-size:18.9px;--e-global-typography-daa32f8-font-size:18.9px;--e-global-typography-daa32f8-line-height:1.2em;--e-global-typography-886dffc-font-size:25.3px;--e-global-typography-886dffc-line-height:1.2em;--e-global-typography-3dbb54a-font-size:17.48px;--e-global-typography-3dbb54a-line-height:1.66em;--e-global-typography-26f2361-font-size:25.5px;--e-global-typography-26f2361-line-height:1.2em;--e-global-typography-6d2f24f-font-size:21px;--e-global-typography-6d2f24f-line-height:1.2em;--e-global-typography-f652f5a-font-size:18.9px;--e-global-typography-f652f5a-line-height:1.32em;--e-global-typography-c85f197-font-size:14.96px;--e-global-typography-c85f197-line-height:1.2em;--e-global-typography-b4cd34e-font-size:14.96px;--e-global-typography-b4cd34e-line-height:2.2em;--e-global-typography-88b334a-font-size:14px;--e-global-typography-88b334a-line-height:1.82em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:90%;}.e-con{--container-max-width:90%;}}/* Start custom CSS *//* ================================================================
   カミパラ！ グローバルレスポンシブCSS v4.6
   最終更新: 2026-03-01 00:33
   変更点: kp-stack-tb / kp-stack-tb-rev に子要素自動リセット追加（v4.6）
           kp-stack-tb-rev TB縦積み逆順クラス追加（v4.5）
           kp-heading-band 装飾帯見出しクラス追加（v4.4）
           kp-reset-tb / kp-stack-tb ユーティリティクラス追加（v4.3）
           --kp-scale CSS変数を全ページ共通で定義（v4.2）
           unicode-range に U+3005（々）を追加（v4.1）
   ================================================================ */

/* === レスポンシブスケール変数 (--kp-scale) === */
/* 全ページ共通。calc(px * var(--kp-scale)) でDT基準の値をTB/SPに自動縮小 */
/* DT: 1（基準）→ TB: 0.7 → SP: 0.5 */
:root {
  --kp-scale: 1;
}
@media (max-width: 1024px) {
  :root { --kp-scale: 0.7; }
}
@media (max-width: 767px) {
  :root { --kp-scale: 0.5; }
}

/* === 合成フォント設定 (KP Heading) === */
/* 実装時は font-weight: 400 (Normal) を指定してください */

/* 1. ベース: Aoboshi One（ひらがな・英数字・約物） */
/* RegularとBoldの両方で同じファイルを読み込み、太さ指定に関わらず表示させる */
@font-face {
  font-family: 'KP Heading';
  src: url('/wp-content/uploads/fonts/aoboshi-one-v13-japanese_latin_latin-ext-regular.woff2') format('woff2');
  font-weight: 400; font-display: swap;
}
@font-face {
  font-family: 'KP Heading';
  src: url('/wp-content/uploads/fonts/aoboshi-one-v13-japanese_latin_latin-ext-regular.woff2') format('woff2');
  font-weight: 700; font-display: swap;
}

/* 2. 上書き: 漢字だけ Zen Kaku Gothic New (Bold=700) */
/* Regular(400)指定時もBoldファイルを表示させ、常に太字にする */
/* ★ U+3005 = 踊り字「々」を追加（v4.1） */
@font-face {
  font-family: 'KP Heading';
  src: url('/wp-content/uploads/fonts/zen-kaku-gothic-new-v18-japanese_latin_latin-ext-700.woff2') format('woff2');
  font-weight: 400; font-display: swap;
  unicode-range: U+3005, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF;
}
@font-face {
  font-family: 'KP Heading';
  src: url('/wp-content/uploads/fonts/zen-kaku-gothic-new-v18-japanese_latin_latin-ext-700.woff2') format('woff2');
  font-weight: 700; font-display: swap;
  unicode-range: U+3005, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF;
}

/* === 全見出しに KP Heading を強制適用（グローバル設定の代わり） === */
/* これにより、ウィジェット設定を触らずともhタグは全てこのフォントになります */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title {
    font-family: 'KP Heading', 'Zen Kaku Gothic New', sans-serif !important;
}

/* === 例外：特定の場所だけ別のフォントを使いたい場合 === */
/* そのウィジェットの「高度な設定 > カスタムCSS」に以下を記述して上書きしてください */
/* .elementor-kit-6 .elementor-heading-title { font-family: "フォント名" !important; } */

/* === 基本設定 === */
* { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
body {
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  font-size: 19px;
  line-height: 44px;
  color: #000;
}

/* === コンテナ共通 (.kp-container) === */
.kp-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

/* === 顔ストリップ (.face-divider / .kp-face-strip) === */
/* 画面幅いっぱいに広がり、端の顔が画面端にくっつく */
.face-divider,
.kp-face-strip {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap !important; /* 全デバイスで折り返しなし */
    overflow: hidden;
    width: 100vw;                /* 画面全幅 */
    max-width: 100vw;
    margin-left: calc(50% - 50vw);  /* 親の幅制限を突破 */
    margin-right: calc(50% - 50vw);
    padding: 0;                  /* 左右余白なし = 端にくっつく */
    gap: 0;
}
.face-divider > .e-con,
.face-divider > .elementor-widget-image,
.kp-face-strip > .e-con,
.kp-face-strip > .elementor-widget-image {
    flex-shrink: 1;
    flex-grow: 1;
    min-width: 0;
    width: auto;
}
.face-divider img,
.kp-face-strip img {
    width: 100% !important;
    height: auto !important;
    max-width: none;
    object-fit: contain;
    display: block;
}

/* === 白ボックス SP背景消失バグ防止 (.kp-white-box) === */
/* SPで背景が透明になるElementorバグへの対策 */
.kp-white-box {
    background-color: #FFFFFF;
}

/* === Pattern B-Right: 写真＋白ボックス テンプレート (.kp-photo-box) === */
/* 親: kp-photo-box（relative） → 子: kp-white-box（absolute→SP:static自動切替） */
/* オフセット（top/bottom/left/right）はElementor側で設定すること */
.kp-photo-box {
    position: relative !important;
    overflow: visible !important;
}
.kp-photo-box > .elementor-widget-image img {
    display: block !important;  /* 画像下の隙間を消す */
}
.kp-photo-box .kp-white-box {
    position: absolute !important;
    z-index: 2;
}
@media (max-width: 1024px) {
    .kp-photo-box .kp-white-box {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 0 !important;
    }
}

/* === 共通ボタン (.kp-btn) === */
/* 各ボタンウィジェットの「高度な設定 > CSSクラス」に kp-btn を入力 */
.kp-btn .elementor-button {
    background-color: #FFFFFF !important;
    color: #000000 !important;
    border-radius: 0 !important;
    border: none !important;
    border-top: 1px solid #000000 !important;
    border-bottom: 1px solid #000000 !important;
    padding: 0 20px !important;
    /* フォント設定はElementorの「サイト設定 > ボタン」で行ってください */
    /* font-family, font-weight, font-size, line-height は削除しました */
    width: auto !important;
    display: inline-block !important;
    white-space: nowrap !important;
    text-align: center;
    text-decoration: none !important;
    transition: background-color 0.3s ease !important;
}
.kp-btn {
    width: auto !important;
    display: inline-block !important;
}
.kp-btn .elementor-button:hover {
    background-color: rgba(240, 152, 164, 0.5) !important;
    color: #000000 !important;
}

/* === 装飾イラスト縮小 (.kp-deco-illust) === */
/* 装飾用の画像ウィジェットに付ける */

/* === Safari/iOS SVG描画バグ対策 (.wk-repaint) === */
/* 縦書きSVGなどが崩れる・ガタつく場合にこのクラスを付与 */
.wk-repaint {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    width: fit-content !important;
}
.wk-repaint img,
.wk-repaint svg {
    display: block !important;
    height: auto !important;
    max-width: none !important;
}

/* === 全幅強制表示 (.kp-full-width) === */
/* 顔ストリップと同じ計算式を使用 */
@media (max-width: 1024px) {
    .kp-full-width {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }
}

/* === アクセシビリティ用：隠しテキスト (.kp-visually-hidden) === */

/* 見出しタグをデザイン上隠したい場合に使用（SEO・読み上げ用） */
.kp-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* === TBリセット (.kp-reset-tb) === */
/* TB以下で偏ったpadding/margin/max-widthをリセット */
/* 使い方: コンテナの CSSクラスに kp-reset-tb を追加 */
@media (max-width: 1024px) {
    .kp-reset-tb {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100% !important;
    }
}

/* === TB縦積み (.kp-stack-tb) === */
/* kp-reset-tb と併用: TB以下で縦積み＋中央揃え */
/* 使い方: CSSクラスに kp-reset-tb kp-stack-tb を追加 */
@media (max-width: 1024px) {
    .kp-stack-tb,
    .kp-stack-tb > .e-con-inner {
        flex-direction: column !important;
        align-items: center !important;
    }
    /* 直下の子要素: DTの固定幅/余白を自動解除 */
    .kp-stack-tb > .e-con-inner > .elementor-element {
        flex: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* === TB縦積み逆順 (.kp-stack-tb-rev) === */
/* kp-reset-tb と併用: TB以下で縦積み逆順＋中央揃え */
/* 使い方: CSSクラスに kp-reset-tb kp-stack-tb-rev を追加 */
@media (max-width: 1024px) {
    .kp-stack-tb-rev,
    .kp-stack-tb-rev > .e-con-inner {
        flex-direction: column-reverse !important;
        align-items: center !important;
    }
    /* 直下の子要素: DTの固定幅/余白を自動解除 */
    .kp-stack-tb-rev > .e-con-inner > .elementor-element {
        flex: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* === 装飾帯見出し (.kp-heading-band) === */
/* 白背景 + 上下1pxボーダー + 中央テキストの帯見出し */
/* 使い方: 見出しウィジェットの CSSクラスに kp-heading-band を追加 */
.kp-heading-band .elementor-heading-title {
    display: block;
    width: 100%;
    text-align: center;
    background-color: #FFFFFF;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: calc(20px * var(--kp-scale)) calc(172px * var(--kp-scale));
}
@media (max-width: 1024px) {
    .kp-heading-band .elementor-heading-title {
        padding-left: calc(60px * var(--kp-scale)) !important;
        padding-right: calc(60px * var(--kp-scale)) !important;
    }
}
@media (max-width: 767px) {
    .kp-heading-band .elementor-heading-title {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* === Swiper（カルーセル）矢印カスタマイズ === */
/* 必要に応じてコメントアウトを解除して調整してください */
/*
.elementor-swiper-button {
    background-color: #000000 !important;
    color: #FFFFFF !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    transition: opacity 0.3s !important;
}
.elementor-swiper-button:hover {
    opacity: 0.7;
}
.elementor-swiper-button i {
    font-size: 20px !important;
}
*/

/* === タブレット (1024px以下) === */
@media (max-width: 1024px) {
  body { font-size: 17px; line-height: 38px; }
  .kp-container { padding: 0 24px; }
  .kp-deco-illust { transform: scale(0.75); transform-origin: center; }
  /* 顔ストリップ: TBでも全幅・折り返しなしのまま自然に縮小 */
}

/* === モバイル (767px以下) === */
@media (max-width: 767px) {
  html { overflow-x: hidden !important; }
  body { font-size: 16px; line-height: 32px; overflow-x: hidden !important; }
  .kp-container { padding: 0 16px; }

  /* 装飾イラスト */
  .kp-deco-illust { transform: scale(0.5); }
  .kp-deco-illust-hide-sp { display: none !important; }

  /* 白ボックス（機能ベース）：SPでの全幅リセット・背景色維持を担当 */
  body .kp-white-box {
      background-color: #FFFFFF !important;
      /* PC幅・配置は「カスタムCSS」で指定してください */
  }
  

  
  /* TB/SP：全幅リセット（強制） */
  @media (max-width: 1024px) {
      body .kp-white-box {
          width: 100% !important;
          max-width: 100% !important;
          margin-left: 0 !important;
          margin-right: 0 !important;
          left: auto !important;
          right: auto !important;
          transform: none !important;
      }
  }

  /* 配置クラスは廃止（各ウィジェットのカスタムCSSで制御） */

  /* 横スクロール防止 */
  .elementor-section,
  .elementor-container { overflow-x: hidden !important; }

  /* パララックス背景固定解除（SP破綻防止） */
  .kp-bg-photo { background-attachment: scroll !important; }

  /* 顔ストリップ: SPでも全幅・折り返しなし・均等縮小 */
  /* ボタン: SPはフル幅 */
  .kp-btn {
      width: 100% !important;
      max-width: 280px;
      margin: 0 auto;
      display: block !important;
  }
  .kp-btn .elementor-button {
      width: 100% !important;
      display: block !important;
  }
}

/* === 顔画像の最小サイズ確保 (縮小しすぎ防止) === */
/* TB */
@media (max-width: 1024px) {
    .face-divider > .e-con,
    .face-divider > .elementor-widget-image,
    .kp-face-strip > .e-con,
    .kp-face-strip > .elementor-widget-image {
        min-width: 80px !important; /* TBでの最小幅 */
        flex-shrink: 1; /* 縮小は許可するが、min-widthで止まる */
    }
}
/* SP */
@media (max-width: 767px) {
    .face-divider > .e-con,
    .face-divider > .elementor-widget-image,
    .kp-face-strip > .e-con,
    .kp-face-strip > .elementor-widget-image {
        min-width: 50px !important; /* SPでの最小幅 */
    }
}

/* === 顔アイコンアニメーション (Pattern D) === */
/* 定義: ゆらゆら(shake), 回転(spin), 高速回転(spin-fast) */
@keyframes kp-shake-random {
  0% { transform: scale(1) rotate(0deg); }
  25% { transform: scale(1.1) rotate(5deg); }
  50% { transform: scale(1.1) rotate(-5deg); }
  75% { transform: scale(1.1) rotate(5deg); }
  100% { transform: scale(1) rotate(0deg); }
}
@keyframes kp-spin-flip {
  0% { transform: scale(1) rotate(0deg); }
  40% { transform: scale(1.2) rotate(180deg); }
  80% { transform: scale(1) rotate(360deg); }
  100% { transform: scale(1) rotate(360deg); }
}
@keyframes kp-spin-fast {
  0% { transform: scale(1) rotate(0deg); }
  20% { transform: scale(1.3) rotate(0deg); }
  80% { transform: scale(1.3) rotate(1080deg); }
  100% { transform: scale(1) rotate(1080deg); }
}
/* クラス付与で動く */
.kp-action-shake { animation: kp-shake-random 0.5s ease-in-out; }
.kp-action-spin { animation: kp-spin-flip 0.8s ease-in-out; }
.kp-action-spin-fast { animation: kp-spin-fast 0.6s ease-in-out; }

/* 初期状態 */
.kp-face-strip .elementor-widget-image img {
  will-change: transform;
  transition: transform 0.3s ease;
}/* End custom CSS */