.elementor-22 .elementor-element.elementor-element-a15ff39{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:6em;--margin-bottom:0em;--margin-left:0em;--margin-right:0em;}.elementor-22 .elementor-element.elementor-element-a3b5075{--display:flex;}.elementor-22 .elementor-element.elementor-element-a3b5075.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-22 .elementor-element.elementor-element-012bbb3{text-align:center;}.elementor-22 .elementor-element.elementor-element-012bbb3 img{width:13%;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-22 .elementor-element.elementor-element-25323e2 .elementor-nav-menu .elementor-item{font-family:"Outfit", Sans-serif;font-size:14px;font-weight:600;line-height:1.2em;letter-spacing:-1px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-22 .elementor-element.elementor-element-bcf861c{text-align:center;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-widget-theme-site-logo .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-22 .elementor-element.elementor-element-25323e2 .elementor-nav-menu .elementor-item{font-size:37px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-widget-theme-site-logo .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-22 .elementor-element.elementor-element-012bbb3 img{width:45%;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-22 .elementor-element.elementor-element-25323e2 .elementor-nav-menu .elementor-item{font-size:12px;}.elementor-22 .elementor-element.elementor-element-25323e2 .elementor-nav-menu--main .elementor-item{padding-top:6px;padding-bottom:6px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}/* Start custom CSS *//* ===== 深海背景ベース ===== */
body {
  margin: 0;
  padding: 0;
  background: radial-gradient(circle at 50% 80%, #001524, #000915 80%, #000000);
  overflow-x: hidden;
}

/* ===== 背景の光の粒（生物発光） ===== */
.deep-light {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}

.deep-light::before,
.deep-light::after {
  content: "";
  position: absolute;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(0,255,255,0.08) 0%, rgba(0,0,0,0) 60%);
  animation: shimmer 18s infinite ease-in-out;
  filter: blur(30px);
}

.deep-light::after {
  animation-duration: 26s;
  animation-direction: reverse;
  opacity: 0.5;
}

/* === 光ゆらぎアニメーション === */
@keyframes shimmer {
  0%   { transform: translate(0,0) rotate(0deg); }
  50%  { transform: translate(-10%, 10%) rotate(180deg); }
  100% { transform: translate(0,0) rotate(360deg); }
}


/* ===== 上昇する気泡レイヤー ===== */
.bubbles {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}

.bubbles span {
  position: absolute;
  bottom: -80px;
  width: 6px;
  height: 6px;
  background: rgba(255,255,255,0.2);
  border-radius: 50%;
  animation: bubble 12s infinite ease-in-out;
  filter: blur(1px);
}

/* ランダム配置 */
.bubbles span:nth-child(1) { left: 5%; animation-duration: 11s; animation-delay: 0s; }
.bubbles span:nth-child(2) { left: 15%; animation-duration: 14s; animation-delay: 2s; }
.bubbles span:nth-child(3) { left: 25%; animation-duration: 10s; animation-delay: 1s; }
.bubbles span:nth-child(4) { left: 40%; animation-duration: 16s; animation-delay: 3s; }
.bubbles span:nth-child(5) { left: 55%; animation-duration: 13s; animation-delay: 4s; }
.bubbles span:nth-child(6) { left: 70%; animation-duration: 15s; animation-delay: 1s; }
.bubbles span:nth-child(7) { left: 82%; animation-duration: 12s; animation-delay: 2s; }
.bubbles span:nth-child(8) { left: 93%; animation-duration: 17s; animation-delay: 0s; }

/* ===== 気泡アニメーション ===== */
@keyframes bubble {
  0%   { transform: translateY(0) scale(0.4); opacity: 0; }
  10%  { opacity: 0.6; }
  50%  { transform: translateY(-400px) scale(1); opacity: 0.8; }
  80%  { opacity: 0.3; transform: translateY(-600px) scale(1.2); }
  100% { opacity: 0; transform: translateY(-800px) scale(0.8); }
}/* End custom CSS */