@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/




.vk_slider_item-paddingLR-use {
        padding-left: 1em;
        padding-right: 1em;
}

.swell-block-accordion.is-style-main .swell-block-accordion__title {
    border-radius: 12px;
}

@media (min-width: 960px) {
  .-col4 .-type-card.-pc-col3 .p-postList__item, .-col4 .-type-thumb.-pc-col3 .p-postList__item{
    width: calc(100% / 4);
  }
}

/* ========================================
   丸模様 背景デコレーション（グラデーション版）
   使い方: <div class="has-circle-deco"> で囲むだけ
   ======================================== */

.has-circle-deco {
  position: relative;
  overflow: hidden; /* はみ出し制御（不要なら削除可） */
}

.has-circle-deco::before,
.has-circle-deco::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}

/* 左上：ピンク系の丸 */
.has-circle-deco::before {
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgb(163 116 224 / 25%) 0%, rgba(251, 125, 132, 0) 70%);
    top: -180px;
    left: -180px;
}

/* 右下：パープル系の丸 */
.has-circle-deco::after {
  width: 550px;
  height: 550px;
  background: radial-gradient(circle, rgba(159, 114, 225, 0.25) 0%, rgba(159, 114, 225, 0) 70%);
  bottom: -160px;
  right: -160px;
}

/* 内側の要素がz-indexで隠れないよう念のため */
.has-circle-deco > * {
  position: relative;
  z-index: 1;
}


/* ========================================
   横流れマーキーアニメーション
   ======================================== */

.marquee-wrap {
  overflow: hidden;
  white-space: nowrap;
  padding: 14px 0;
}

.marquee-track {
  display: inline-flex;
  gap: 80px;
  animation: marquee-scroll 18s linear infinite;
}

.marquee-track span {
    font-size: 50px;
    font-weight: 700;
    letter-spacing: 0.08em;
    flex-shrink: 0;
    color: transparent;
    -webkit-text-stroke: 1px #a56dd645;
}

@keyframes marquee-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}


/* ========================================
   丸線 背景デコレーション（SWELL対応版）
   使い方: has-circle-line has-circle-line-2
           をスペース区切りで両方付与
   ======================================== */

.has-circle-line {
  position: relative;
  overflow: hidden;
}

.has-circle-line > * {
  position: relative;
  z-index: 1;
}

.has-circle-line::before,
.has-circle-line::after,
.has-circle-line-2::before,
.has-circle-line-2::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}

/* 右上①：ピンク 大 */
.has-circle-line::before {
  width: 420px;
  height: 420px;
  border: 1px solid rgba(251, 125, 132, 0.35);
  top: -170px;
  right: -170px;
}

/* 左下①：パープル 大 */
.has-circle-line::after {
  width: 400px;
  height: 400px;
  border: 1px solid rgba(159, 114, 225, 0.30);
  bottom: -160px;
  left: -160px;
}

/* 右上②：ピンク 小 */
.has-circle-line-2::before {
  width: 260px;
  height: 260px;
  border: 1px solid rgba(251, 125, 132, 0.20);
  top: -100px;
  right: -100px;
}

/* 左下②：パープル 小 */
.has-circle-line-2::after {
  width: 270px;
  height: 270px;
  border: 1px solid rgba(159, 114, 225, 0.18);
  bottom: -90px;
  left: -90px;
}



/* 全体のカラー */
/* 全体のカラー */
/* 全体のカラー */

.has-swl-main-background-color {
    background: linear-gradient(90deg, #f489d6 0%, #a56dd6 100%);
}

/* フッター背景色 */
.l-footer {
    background: linear-gradient(90deg, #f489d6 0%, #a56dd6 100%);
}

/* 吹き出しカラー */
.is-style-balloon_box {
    background: linear-gradient(90deg, #f489d6 0%, #a56dd6 100%);
}

/* ステップ背景色 */
.u-bg-main {
    background: linear-gradient(90deg, #f489d6 0%, #a56dd6 100%);
}

/* アコーディオン */
.swell-block-accordion.is-style-main .swell-block-accordion__title {
    background: linear-gradient(90deg, #f489d6 0%, #a56dd6 100%);
}

/* グラデーションテキスト */
.myGradientTextSample {
 background: linear-gradient(90deg, #f489d6 0%, #a56dd6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* 全体の文字指定カラー */
.has-swl-main-color {
    background: linear-gradient(to right, #f489d6, #a56dd6);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* 吹き出しカラー */
[data-col="red"] .c-balloon__text {
    background: linear-gradient(90deg, #e06abf 0%, #a56dd6 100%);
}

[data-col="red"] .c-balloon__before {
    border-right-color: #a56dd6;
}

/* 全体のカラー */
/* 全体のカラー */
/* 全体のカラー */




div#content {
    margin-bottom: 0;
}

.w-beforeFooter {
    margin: 0em auto 3em;
}

a.swell-block-button__link {
    padding: 20px 40px;
}


.blur-cover .wp-block-cover__image-background {
    filter: blur(8px);
    transform: scale(1.05); /* ぼかして隙間が見えないよう拡大 */
    z-index: -1;
}

.blur-cover .wp-block-cover__inner-container {
    position: relative;
    z-index: 1;
}

.wp-block-cover.has-parallax {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
}

.wp-block-cover__image-background.has-parallax {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
}

.l-topTitleArea__body {
    text-shadow: none;
}

.maru {
   border-radius: 12px;
}

.maru img {
   border-radius: 12px;
}


/* ─── CRIAR Final CTA Section ─────────────────────────────
   使い方：リッチカラムの「高度な設定 > 追加CSSクラス」に
   　　　　  criar-cta-section を入力するだけ
──────────────────────────────────────────────────────────── */

.criar-cta-section {
    position: relative;
    overflow: hidden;
    background: linear-gradient(to left, rgb(168 123 234 / 71%), rgb(254 231 255 / 86%));
    padding: 100px 40px !important;
    text-align: center;
    border-radius: 0;
}

/* 背景の装飾サークル */
.criar-cta-section::before {
  content: '';
  position: absolute;
  top: -80px;
  right: -80px;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  pointer-events: none;
}

.criar-cta-section::after {
  content: '';
  position: absolute;
  bottom: -100px;
  left: -60px;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  pointer-events: none;
}

/* eyebrow（英字小見出し）*/
.criar-cta-section .criar-eyebrow {
  display: block;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 14px;
}

/* メイン見出し */
.criar-cta-section h2,
.criar-cta-section .criar-title {
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 700;
  color: #ffffff !important;
  line-height: 1.5;
  margin-bottom: 14px;
}

/* サブテキスト */
.criar-cta-section p,
.criar-cta-section .criar-sub {
  color: rgba(255, 255, 255, 0.85) !important;
  line-height: 1.9;
  margin-bottom: 36px;
}

/* ボタンエリア */
.criar-cta-section .criar-btn-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}

/* メインCTAボタン（白塗り）*/
.criar-cta-section .criar-btn-main,
.criar-cta-section .wp-block-button__link {
  display: inline-block;
  padding: 16px 40px !important;
  background: #ffffff !important;
  color: #a87bea !important;
  font-weight: 700 !important;
  border-radius: 100px !important;
  text-decoration: none !important;
  border: none !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
  transition: transform 0.2s, box-shadow 0.2s;
  letter-spacing: 0.02em;
  position: relative;
  z-index: 1;
}

.criar-cta-section .criar-btn-main:hover,
.criar-cta-section .wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.16);
  color: #a87bea !important;
}

/* サブボタン（枠線のみ）*/
.criar-cta-section .criar-btn-sub {
  display: inline-block;
  padding: 12px 28px;
  background: transparent !important;
  color: #ffffff !important;
  font-weight: 500;
  border-radius: 100px;
  border: 1.5px solid rgba(255, 255, 255, 0.6) !important;
  text-decoration: none !important;
  transition: background 0.2s;
  position: relative;
  z-index: 1;
}

.criar-cta-section .criar-btn-sub:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
}

/* 電話番号テキスト */
.criar-cta-section .criar-tel {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7) !important;
  margin-top: 16px;
}

/* ─── レスポンシブ ─── */
@media (max-width: 768px) {
  .criar-cta-section {
    padding: 72px 24px !important;
  }

  .criar-cta-section .criar-btn-main,
  .criar-cta-section .wp-block-button__link {
    padding: 14px 28px !important;
    width: 100%;
    max-width: 320px;
    text-align: center;
  }

  .criar-cta-section .criar-btn-sub {
    width: 100%;
    max-width: 320px;
    text-align: center;
  }
}



/* =========================================================
//  スマホでスクロールスナップ
// ========================================================= */
@media not all and (min-width: 600px) {
  .-snap {
    --item-mobile-width: 80vw; /* スマホでのアイテムの幅 */
    --gap: 1rem; /* 各アイテム同士の間隔 */
  }
  .-snap > * {
    flex-wrap: nowrap !important;
    padding: 0 calc((100vw - var(--item-mobile-width, 80vw)) / 2) !important;
    margin-inline: calc(var(--swl-pad_container, 0px) * -1) !important;
    gap: var(--gap);
    overflow-x: scroll;
    -webkit-scroll-snap-type: x mandatory;
            scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .-snap > *::-webkit-scrollbar {
    display: none;
  }
  .-snap > * > * {
    margin-inline: auto !important;
    flex-shrink: 0;
    width: var(--item-mobile-width, 80vw) !important;
    scroll-snap-align: center;
  }
  /* 「ノーマル」スタイルの調整 */
  .swell-block-tab.is-style-default .c-tabBody:has(.-snap) {
    padding-left: var(--swl-pad_container, 0px);
    padding-right: var(--swl-pad_container, 0px);
  }
}


@media (max-width: 768px)  {
.swell-col-reverse .swell-block-columns__inner{
flex-direction: column-reverse; 
}
}



/* ── フェードアニメーション定義 ── */
/* ── フェードアニメーション定義 ── */
@keyframes cr-fade-up {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes cr-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes cr-fade-left {
  from { opacity: 0; transform: translateX(-14px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes cr-fade-right {
  from { opacity: 0; transform: translateX(14px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes cr-zoom-in {
  from { opacity: 0; transform: scale(0.95); }
  to   { opacity: 1; transform: scale(1); }
}

/* ── 初期状態（画面外では非表示） ── */
.cr-anim { opacity: 0; }

/* ── 画面に入ったら発火 ── */
.cr-anim.is-visible {
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(0.16, 0.8, 0.36, 1);
  animation-duration: 1.1s;
}
.cr-anim.is-visible.cr-fade-up    { animation-name: cr-fade-up; }
.cr-anim.is-visible.cr-fade-in    { animation-name: cr-fade-in; }
.cr-anim.is-visible.cr-fade-left  { animation-name: cr-fade-left; }
.cr-anim.is-visible.cr-fade-right { animation-name: cr-fade-right; }
.cr-anim.is-visible.cr-zoom-in    { animation-name: cr-zoom-in; }

/* ── ディレイ（順番に出す用） ── */
.cr-delay-1 { animation-delay: 0.15s; }
.cr-delay-2 { animation-delay: 0.30s; }
.cr-delay-3 { animation-delay: 0.45s; }
.cr-delay-4 { animation-delay: 0.60s; }
.cr-delay-5 { animation-delay: 0.75s; }
.cr-delay-6 { animation-delay: 0.90s; }



/* ===================
ハンバーガーメニュー
====================== */
/* メニューアイコン（デフォルト時） */
.-menuBtn .c-iconBtn__icon {
	width: 24px;
	height: 2px;
	background-color: #333;
	display: grid;
	place-items: center;
	transition: transform .3s;
	
	&::before,
	&::after {
		grid-area: 1 / 1;
		content: '';
		display: block;
		inset: 0;
		width: 24px;
		height: 2px;
		background-color: #333;
		transition: transform .3s;
	}
	
	&::before {
		transform: translateY(-8px);
	}
	
	&::after {
		transform: translateY(8px);
	}
}

/* メニューアイコン（オープン時） */
[data-spmenu=opened] {
	
	.-menuBtn .c-iconBtn__icon::before {
			transform: rotate(45deg);
	}
	
	.-menuBtn .c-iconBtn__icon {
		background-color: transparent;
	}
	
	.-menuBtn .c-iconBtn__icon::after {
		transform: rotate(-45deg);
	}
}

/* ボタンラベル */
.l-header__menuBtn .c-iconBtn::after,
.p-spMenu__closeBtn .c-iconBtn::after {
	font-size: 10px;
	line-height: 10px;
	transform: translateY(12px);
}

/* ボタンラベル（開くボタン） */
.l-header__menuBtn .c-iconBtn::after {
/* 	content: 'MENU'; */
}

/* ボタンラベル（閉じるボタン） */
.p-spMenu__closeBtn .c-iconBtn::after {
/* 	content: 'CLOSE'; */
}

/* メニュー */
.p-spMenu__inner {
  width: 100%;
  height: 100%;
  transform: translateX(0)!important;
  opacity: 0;
  transition: opacity .5s ease-out!important;
}

/* メニュー（オープン時） */
[data-spmenu="opened"] .p-spMenu__inner {
  opacity: 1;
}

/* 背景色をぼかす */
.p-spMenu__inner::before {
	background: rgb(255 255 255 / .8);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}

/* メニューをフェードイン */
.p-spMenu__body {
	opacity: 0;
	transform: translateY(20px);
}

[data-spmenu="opened"] .p-spMenu__body {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 1s ease-in, transform .7s ease-out;
}

/* 既存のメニューを削除 */
.c-widget__title.-spmenu,
.p-spMenu__nav {
  display:none;
}

/* リンクリストメニュー余白 */
.p-spMenu__body .swell-block-linkList {
	gap: 2em;
}

/* リンクリストメニュー中央寄せ */
.p-spMenu__body .swell-block-linkList__text {
	margin-inline: auto;
}

@media screen and (max-width: 768px) {
    .l-header {
        background: #fdfdfd00;
    }
}



/* フッター上CTA */
/* フッター上CTA */
/* フッター上CTA */
.criar-cta-wrap {
    display: flex;
    width: 100%;
}
.criar-cta-item {
    position: relative;
    width: 50%;
    min-height: 380px;
    overflow: hidden;
    text-decoration: none;
    display: block;
}
.criar-cta-item::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
    transition: background 0.4s ease;
    z-index: 1;
}
.criar-cta-item:hover::before {
    background: rgba(0,0,0,0.3);
}
.criar-cta-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 0.6s ease;
}
.criar-cta-item:hover .criar-cta-bg {
    transform: scale(1.05);
}
.criar-cta-body {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 380px;
    padding: 40px 30px;
    text-align: center;
    box-sizing: border-box;
}
.criar-cta-label {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.15em;
    color: #fff;
    border: 1px solid rgba(255,255,255,0.6);
    padding: 4px 16px;
    border-radius: 50px;
    margin-bottom: 16px;
}
.criar-cta-title {
    font-size: 28px;
    font-weight: 900;
    color: #fff;
    line-height: 1.4;
    margin-bottom: 12px;
    letter-spacing: 0.05em;
}
.criar-cta-sub {
    font-size: 13px;
    color: rgba(255,255,255,0.85);
    line-height: 1.7;
    margin-bottom: 28px;
}
.criar-cta-btn {
    display: inline-block;
    padding: 12px 36px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.05em;
    transition: all 0.3s ease;
}
.criar-cta-item--trial .criar-cta-btn {
    background: #f48d33;
    color: #fff;
    box-shadow: 0 6px 20px rgb(251 204 125 / 40%);
}
.criar-cta-item--contact .criar-cta-btn {
    background: #fff;
    color: #333;
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
}
.criar-cta-item:hover .criar-cta-btn {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.2);
}
@media screen and (max-width: 768px) {
    .criar-cta-wrap {
        flex-direction: column;
    }
    .criar-cta-item {
        width: 100%;
        min-height: 280px;
    }
    .criar-cta-body {
        min-height: 280px;
        padding: 40px 24px;
    }
    .criar-cta-title {
        font-size: 22px;
    }
}


/* ==== ヘッダー電話番号 ==== */
/* ==== ヘッダー電話番号 ==== */
/* ==== ヘッダー電話番号 ==== */
@media (min-width: 960px) {
.w-header__inner p {
line-height: 1.5;
}
.header_contact_phone {
font-family: Inter, "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
font-size: 20px;
font-weight: 700;
letter-spacing: 0.6px;
}
.header_contact_phone span.icon-phone {
font-size: 16px;
vertical-align: baseline;
margin-right: 3px;
}
.header_business_hours {
font-size: 13px;
letter-spacing: 1px;
}
}

.w-header.pc_ {
    background: linear-gradient(90deg, #f489d6 0%, #a56dd6 100%);
    padding: 0 28px;
    color: #fff;
}


/* ==== メインビジュアル ==== */
/* ==== メインビジュアル ==== */
/* ==== メインビジュアル ==== */
@media (min-width: 1025px) {
    .p-mainVisual__slideTitle {
        font-size: 55px;
        font-weight: bold;
        text-shadow: none;
    }
    .p-mainVisual__slideText {
        font-size: 28px;
        text-shadow: none;
        font-weight: bold;
    }
    .c-mvBtn__btn {
        font-size: 19px;
        color: #fff;
        font-weight: bold;
        padding: 24px 40px;
        border-radius: 100px;
        background: linear-gradient(90deg, #f489d6 0%, #a56dd6 100%);
    }
}

/* ==== ヘッダーデザインタブレット ==== */
@media (min-width: 600px) and (max-width: 1024px) {
    .p-mainVisual__slideTitle {
        font-size: 38px; /* 45px × 85% */
        font-weight: bold;
        text-shadow: none;
    }
    .p-mainVisual__slideText {
        font-size: 24px; /* 28px × 85% */
        text-shadow: none;
        font-weight: bold;
    }
    .c-mvBtn__btn {
        font-size: 16px; /* 19px × 85% */
        color: #fff;
        font-weight: bold;
        padding: 20px 32px;
        border-radius: 100px;
        background: linear-gradient(to left, rgb(168 123 234), rgb(251 125 132));
    }
}

/* ==== ヘッダーデザインスマホ ==== */
@media (max-width: 599px) {
    .p-mainVisual__slideTitle {
        font-size: 25px; /* 45px × 75% */
        font-weight: bold;
        text-shadow: none;
			  text-align: center;
    }
    .p-mainVisual__slideText {
        font-size: 18px; /* 28px × 75% */
        text-shadow: none;
        font-weight: bold;
    }
    .c-mvBtn__btn {
        font-size: 15px; /* 19px × 75% */
        color: #fff;
        font-weight: bold;
        padding: 16px 28px;
        border-radius: 100px;
        background: linear-gradient(to left, rgb(168 123 234), rgb(251 125 132));
    }
}


/* ==== ヘッダーデザインPC ==== */
/* ==== ヘッダーデザインPC ==== */
/* ==== ヘッダーデザインPC ==== */
.l-header .l-header__inner {
    font-weight: bold;
}

.l-fixHeader__logo {
    padding: 35px 0;
}

.l-fixHeader:before {
    background: #fdfdfd26;
    backdrop-filter: blur(3px);
}

.l-fixHeader__inner {
    font-weight: bold;
}


/* ── 追従ボタン ── */
.fc-cta {
  position: fixed;
  right: 40px;
  bottom: 40px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  text-decoration: none;
  transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fc-cta:hover {
  transform: translateY(-6px) scale(1.05);
}
.fc-cta__circle {
  position: relative;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: #f48d33;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.fc-cta__circle::after {
  content: '';
  position: absolute;
  inset: 6px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  pointer-events: none;
}
.fc-cta__label {
  color: rgba(255, 255, 255, 0.82);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1;
}
.fc-cta__line {
  width: 30px;
  height: 1px;
  background: rgba(255, 255, 255, 0.4);
}
.fc-cta__sub {
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
}
.fc-cta__main {
  color: #fff;
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.04em;
}
.fc-cta__caption {
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.06em;
  background: #f48d33;
  border-radius: 20px;
  padding: 5px 16px;
  box-shadow: 0 2px 10px rgba(180, 120, 200, 0.2);
  white-space: nowrap;
}
/* スマホ */
@media (max-width: 768px) {
  .fc-cta {
    right: 12px;
    bottom: 16px;
    gap: 7px;
  }
  .fc-cta__circle {
    width: 112px;
    height: 112px;
    gap: 5px;
  }
  .fc-cta__label {
    font-size: 8.5px;
  }
  .fc-cta__line {
    width: 22px;
  }
  .fc-cta__sub {
    font-size: 11px;
  }
  .fc-cta__main {
    font-size: 17px;
  }
  .fc-cta__caption {
    font-size: 10px;
    padding: 4px 12px;
  }
}


/* ==== メインビジュアル ==== */
/* ==== メインビジュアル ==== */
/* ==== メインビジュアル ==== */
.main-title {
    font-weight: bold;
    font-size: 50px;
    background: linear-gradient(90deg, #e06abf 0%, #a56dd6 100%);
    display: inline;
    padding: 10px;
}

.sub-title {
    font-weight: bold;
    font-size: 20px;
    margin-top: 30px;
    color: #333;
    position: absolute;
    left: -100px;
}

span.sub-title-bg {
	    background: linear-gradient(to right, #f489d6, #a56dd6);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}


.p-blogParts.post_content {
    text-shadow: none;
    position: relative;
}






.img-wrap {
  opacity: 0;
}

.img-animation {
  animation: img-opacity 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  overflow: hidden;
  position: relative;
}

.img-animation::before {
  animation: img-animation 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  background: #fff;
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

@keyframes img-opacity {
  100% {
    opacity: 1;
  }
}

@keyframes img-animation {
  100% {
    transform: translateX(100%);
  }
}





/* ==== メインビジュアル ==== */
.p-blogParts.post_content {
    text-shadow: none;
    position: relative;
}

.wp-block-columns.maru.has-background {
    backdrop-filter: blur(6px);
}

/* スマホ（599px以下）のみ */
@media (max-width: 599px) {
    .main-visiual-parts.img-wrap.img-animation {
        position: relative;
        top: -75px;
    }
}



/* タイトルブロック */
.mv-title-block {
    margin-bottom: 28px;
    line-height: 1;
}

.main-title {
    font-weight: 900;
    font-size: 36px;
    background: linear-gradient(90deg, #e06abf 0%, #a56dd6 100%);
    color: #fff;
    display: inline;
    padding: 6px 12px;
    line-height: 1.7;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.sub-title {
    font-weight: 900;
    font-size: 28px;
    background: linear-gradient(90deg, #e06abf 0%, #a56dd6 100%);
    color: #fff;
    display: inline;
    padding: 6px 12px;
    line-height: 1.9;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    position: static; /* PC版のabsoluteを解除 */
    left: auto;
    margin-top: 10px;
}

span.sub-title-bg {
    background: linear-gradient(to right, #f489d6, #a56dd6);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* バッジ */
.mv-badges {
    display: flex;
    gap: 12px;
    margin: 24px 0;
    flex-wrap: wrap;
}

.mv-badge {
    width: 86px;
    height: 86px;
    border-radius: 50%;
    background: linear-gradient(135deg, #f489d6 0%, #a56dd6 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    text-align: center;
}

/* 限定タグ */
.mv-limited-tag {
    display: inline-block;
    background: linear-gradient(90deg, #e06abf, #a56dd6);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    padding: 4px 14px;
    border-radius: 4px;
    margin-bottom: 10px;
}

/* CTAボタン */
.mv-cta-btn {
    display: block;
    width: 100%;
    max-width: 360px;
    background: linear-gradient(90deg, #e06abf 0%, #a56dd6 100%);
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    padding: 18px 0;
    border-radius: 40px;
}

/* ==== タブレット（600px〜1024px） ==== */
@media (max-width: 1024px) {
    .main-title {
        font-size: 30px;
    }
    .sub-title {
        font-size: 23px;
    }
}

/* ==== スマホ（599px以下） ==== */
@media (max-width: 599px) {
    .main-title {
        font-size: 22px;
        padding: 5px 10px;
    }
    .sub-title {
        font-size: 18px;
        padding: 5px 10px;
    }
    .mv-badge {
        width: 76px;
        height: 76px;
    }
    .mv-cta-btn {
        font-size: 16px;
        padding: 16px 0;
    }
}


/* 共通 */
.swiper-postListWrap .p-postList {
	flex-wrap: nowrap;
	margin: 0;
}

/* カード型 */
.swiper-postListWrap .-type-card .p-postList__item {
	padding: 0;
}
.swiper-postListWrap .swiper-pagination-bullet {
    background: currentcolor;
    color: inherit;
}

/* サムネイル型 */
.swiper-postListWrap .-type-thumb .p-postList__item {
	padding: 0;
}
.p-postList.-type-thumb + .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
	bottom: -4.5px;
}

/* カード幅いっぱい */
.-type-card .p-postList__link {
    height: 100%;
    width: 100%;
}

/* 投稿リストだけをフルワイド化 */
.custom-fullwide-postlist {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    max-width: 100vw;
    color: #fb7d84;
}


.swiper-button-next, .swiper-button-prev {
    background: #fff;
    border-radius: 100px;
    color: #333;
}

.swiper-button-next:after, .swiper-button-prev:after {
    font-size: 15px;
}


[data-a=fill-custom] .faq_a:before {
    background-color: #b584e3;
    color: #fff;
}


/* 投稿リストカスタム */
.-type-simple .p-postList__link {
    border: none;
}

.p-postList.-type-simple {
    border: none;
}

.wp-block-table td, .wp-block-table th {
    padding: 1.5em .75em;
}


.is-style-kakko_box:after, .is-style-kakko_box:before {
    border-radius: 10px 0 10px 0;
}


