.elementor-7 .elementor-element.elementor-element-afb49bc{--display:flex;--min-height:74px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-7 .elementor-element.elementor-element-afb49bc:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-afb49bc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-9a194c6{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-7 .elementor-element.elementor-element-9a194c6.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:1;}.elementor-7 .elementor-element.elementor-element-9a194c6 .elementor-heading-title{color:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-03b6552{--display:grid;--min-height:678px;--e-con-grid-template-columns:repeat(4, 1fr);--e-con-grid-template-rows:repeat(3, 1fr);--grid-auto-flow:row;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-7 .elementor-element.elementor-element-f2c0a72{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-f2c0a72.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:1;}.elementor-7 .elementor-element.elementor-element-f2c0a72 img{width:21%;}.elementor-7 .elementor-element.elementor-element-d21a02e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-d21a02e.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:1;}.elementor-7 .elementor-element.elementor-element-d21a02e img{width:32%;}.elementor-7 .elementor-element.elementor-element-12d0683.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:1;}.elementor-7 .elementor-element.elementor-element-12d0683 img{width:26%;max-width:82%;}.elementor-7 .elementor-element.elementor-element-37b9d38{--display:flex;}.elementor-7 .elementor-element.elementor-element-eb7c14b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-7 .elementor-element.elementor-element-eb7c14b.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:1;}.elementor-7 .elementor-element.elementor-element-eb7c14b img{width:32%;}.elementor-7 .elementor-element.elementor-element-23f6efb.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:1;}.elementor-7 .elementor-element.elementor-element-23f6efb img{width:35%;}.elementor-7 .elementor-element.elementor-element-a78e8e0{--display:flex;}.elementor-7 .elementor-element.elementor-element-36729c8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-36729c8.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:1;}.elementor-7 .elementor-element.elementor-element-36729c8 img{width:51%;}.elementor-7 .elementor-element.elementor-element-bcd9e40{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-7 .elementor-element.elementor-element-bcd9e40.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:1;}.elementor-7 .elementor-element.elementor-element-bcd9e40 img{width:27%;}.elementor-7 .elementor-element.elementor-element-66784fe{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-7 .elementor-element.elementor-element-66784fe.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:1;}.elementor-7 .elementor-element.elementor-element-66784fe img{width:27%;}.elementor-7 .elementor-element.elementor-element-ab8e22c img{border-style:solid;border-width:3px 3px 3px 3px;border-color:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-830df89 img{width:74%;}.elementor-7 .elementor-element.elementor-element-4b86857{--display:flex;--min-height:74px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-7 .elementor-element.elementor-element-4b86857:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-4b86857 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#5D73F1;}.elementor-7 .elementor-element.elementor-element-7f277d4{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-7 .elementor-element.elementor-element-7f277d4.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:1;}.elementor-7 .elementor-element.elementor-element-7f277d4 .elementor-heading-title{color:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-ec3005e{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;}.elementor-7 .elementor-element.elementor-element-417955f{--display:flex;}.elementor-7 .elementor-element.elementor-element-4cf6446{--display:flex;--min-height:74px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-7 .elementor-element.elementor-element-4cf6446:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-4cf6446 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#5D73F1;}.elementor-7 .elementor-element.elementor-element-a8e3216{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-7 .elementor-element.elementor-element-a8e3216.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:1;}.elementor-7 .elementor-element.elementor-element-a8e3216 .elementor-heading-title{color:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-c1f4a9a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-7 .elementor-element.elementor-element-955901f{--display:flex;--min-height:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-955901f.e-con{--align-self:center;}.elementor-7 .elementor-element.elementor-element-ef721bc{--display:flex;--min-height:0px;}@media(max-width:1024px){.elementor-7 .elementor-element.elementor-element-03b6552{--grid-auto-flow:row;}.elementor-7 .elementor-element.elementor-element-ec3005e{--grid-auto-flow:row;}}@media(min-width:768px){.elementor-7 .elementor-element.elementor-element-afb49bc{--content-width:1600px;}.elementor-7 .elementor-element.elementor-element-4b86857{--content-width:1600px;}.elementor-7 .elementor-element.elementor-element-4cf6446{--content-width:1600px;}.elementor-7 .elementor-element.elementor-element-955901f{--width:13%;}.elementor-7 .elementor-element.elementor-element-ef721bc{--width:100%;}}@media(max-width:767px){.elementor-7 .elementor-element.elementor-element-03b6552{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-7 .elementor-element.elementor-element-ec3005e{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for image, class: .elementor-element-f2c0a72 */.elementor-7 .elementor-element.elementor-element-f2c0a72 img {
  animation: fluffyFloat 4s linear infinite;
}

@keyframes fluffyFloat {
  0% {
    transform: translateY(0) rotate(0deg);
  }
  25% {
    transform: translateY(-10px) rotate(1deg);
  }
  50% {
    transform: translateY(0) rotate(0deg);
  }
  75% {
    transform: translateY(10px) rotate(-1deg);
  }
  100% {
    transform: translateY(0) rotate(0deg);
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-d21a02e */.elementor-7 .elementor-element.elementor-element-d21a02e img {
  animation: yuraYura 1s linear infinite,
             zoomSmooth 2s linear infinite;
}

@keyframes yuraYura {
  0% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
  100% { transform: translateY(0); }
}

@keyframes zoomSmooth {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-12d0683 */.elementor-7 .elementor-element.elementor-element-12d0683 {
  /*position: fixed;　*/
  top: 20px;
  left: 20px;
  z-index: 999;
  transform-origin: bottom center;
  animation: swingZoom 3s ease-in-out infinite;
}

/* ゆらぎ＋ズームを同時に行うキーフレーム */
@keyframes swingZoom {
  0%   { transform: rotate(-5deg) scale(1); }
  25%  { transform: rotate(0deg) scale(1.05); }
  50%  { transform: rotate(5deg) scale(1); }
  75%  { transform: rotate(0deg) scale(1.05); }
  100% { transform: rotate(-5deg) scale(1); }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-eb7c14b */.hidden-character {
  transform: translateY(100%); /* 初期状態で下に隠す */
  transition: transform 0.5s ease-out;
  will-change: transform;
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-23f6efb */.popup-image {
  opacity: 0; /* 初期状態は透明（非表示） */
  transform: scale(0.8); /* 初期状態は少し縮小 */
  transition: all 0.6s ease; /* 表示切り替え時のアニメーション（0.6秒） */
  position: fixed; /* 常に画面の特定位置に固定 */
  bottom: 200px; /* 画面下からの距離（必要に応じて調整） */
  right: 680px; /* 画面右からの距離（必要に応じて調整） */
  z-index: 1; /* 他の要素より前面に表示 */
  pointer-events: none; /* 非表示中にクリックなどを無効にする */
}

.popup-image.visible {
  opacity: 1; /* 表示状態：不透明に */
  transform: scale(1); /* 表示状態：通常サイズに拡大 */
  pointer-events: auto; /* 表示時にクリックなど有効にする */
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-bcd9e40 */.elementor-7 .elementor-element.elementor-element-bcd9e40 {
    /* 遷移の滑らかさ */
    transition: transform 0.4s ease-in-out;
}

.elementor-7 .elementor-element.elementor-element-bcd9e40:hover {
    /* わずかに右へ2度回転 */
    transform: rotate(2deg); 
    /* 薄い白の光沢を右下から左上へ流す */
    filter: brightness(1.1);
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-66784fe */.elementor-7 .elementor-element.elementor-element-66784fe {
  position: fixed;
  right: 20px;   /* 右端からの距離 */
  bottom: 20px;  /* 下端からの距離 */
  z-index: 9999; /* 手前に表示 */
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-ab8e22c *//* 画像ウィジェットの「カスタムCSS」に記述 */
.elementor-7 .elementor-element.elementor-element-ab8e22c img {
    width: 300px; /* サイズは調整してくだされ */
    height: 300px;
    object-fit: cover;
    /* 境界線を不定形にする（リキッド効果） */
    border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
    animation: liquid 3s ease-in-out infinite;
    transition: all 1s ease-in-out;
}

@keyframes liquid {
    0% {
        border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
    }
    50% {
        border-radius: 30% 60% 70% 40% / 50% 60% 30% 60%;
    }
    100% {
        border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
    }
}

/* ホバー時に形を整える演出 */
.elementor-7 .elementor-element.elementor-element-ab8e22c:hover img {
    border-radius: 15px;
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-a1280af *//* 画像のウィジェット（セレクター）に適用 */
.elementor-7 .elementor-element.elementor-element-a1280af {
    perspective: 1000px;
}

.elementor-7 .elementor-element.elementor-element-a1280af img {
    transition: transform 0.5s ease-out;
    box-shadow: 0 20px 40px rgba(0,0,0,0.2);
    border-radius: 15px; /* お好みで角丸に */
}

.elementor-7 .elementor-element.elementor-element-a1280af:hover img {
    /* マウスホバーで少し浮き上がり、傾く（数値はお好みで調整） */
    transform: rotateX(7deg) rotateY(-7deg) scale(1.05);
    box-shadow: 0 30px 60px rgba(0,0,0,0.4);
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-830df89 *//* 画像ウィジェットに適用 */
.elementor-7 .elementor-element.elementor-element-830df89 img {
    backface-visibility: hidden; /* 回転時のチラつきを抑える */
    animation: slotLoop 4s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
}

@keyframes slotLoop {
    /* 0%：最初は見えない状態（上に消えている） */
    0% {
        opacity: 0;
        transform: translateY(-50px) rotateX(90deg) scale(0.8);
    }
    /* 20%〜50%：中央でピタリと止まって見せる（静止時間） */
    20%, 50% {
        opacity: 1;
        transform: translateY(0) rotateX(0deg) scale(1);
    }
    /* 70%：逆回転しながら上に消えていく */
    70% {
        opacity: 0;
        transform: translateY(-50px) rotateX(90deg) scale(0.8);
    }
    /* 100%：次のサイクルのための待機 */
    100% {
        opacity: 0;
        transform: translateY(-50px) rotateX(90deg) scale(0.8);
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-03b6552 *//* 揺れのアニメーション定義 */
@keyframes screen-shake {
    0% { transform: translate(0, 0); }
    10% { transform: translate(-10px, -10px); }
    30% { transform: translate(10px, 10px); }
    50% { transform: translate(-10px, 10px); }
    70% { transform: translate(10px, -10px); }
    90% { transform: translate(-5px, -5px); }
    100% { transform: translate(0, 0); }
}

/* このクラスがついた時だけ揺れる */
.is-shaking {
    animation: screen-shake 0.3s ease-in-out;
}/* End custom CSS */
/* Start custom CSS */html, body {
  overflow-x: hidden;
}/* End custom CSS */