@charset "UTF-8";
.c-section--gradient-bg {
  position: relative;
  overflow: hidden;
  color: #fff;
}

/* レイヤー①：大きく動くベースグラデーション */
.c-section--gradient-bg::before {
  content: "";
  position: absolute;
  inset: -40%;
  background: linear-gradient(
    130deg,
    #02060c,
    #091a2b,
    #153f63,
    #02060c
  );
  background-size: 600% 600%;
  animation: gradientFlow 12s linear infinite;
  z-index: 0;
}

/* レイヤー②：はっきり分かる光の移動 */
.c-section--gradient-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      circle at 20% 20%,
      rgba(255,255,255,0.08),
      transparent 55%
    ),
    radial-gradient(
      circle at 80% 70%,
      rgba(255,255,255,0.05),
      transparent 60%
    );
  animation: lightDrift 6s ease-in-out infinite alternate;
  z-index: 1;
  pointer-events: none;
}

/* 中身 */
.c-section--gradient-bg > .container {
  position: relative;
  z-index: 3;
}

/* animaions */
@keyframes gradientFlow {
  0%   { background-position:   0% 0%; }
  50%  { background-position: 100% 100%; }
  100% { background-position:   0% 0%; }
}

@keyframes lightDrift {
  0%   { transform: translate(-30px, -20px); }
  100% { transform: translate(30px, 20px); }
}

/* CTAセクション：動画っぽい動くネイビー背景 */
.c-section--cta-gradient-bg {
  position: relative;
  overflow: hidden;
  color: #fff;
  /* 既存 .c-section--image の背景画像があれば消したい場合 */
  background: none !important;
}

/* レイヤー①：大きく流れるベースグラデーション */
.c-section--cta-gradient-bg::before {
  content: "";
  position: absolute;
  inset: -40%;
  background: linear-gradient(
    130deg,
    #02040a,
    #071425,
    #123a5f,
    #02040a
  );
  background-size: 650% 650%;
  animation: ctaGradientFlow 10s linear infinite;
  z-index: 0;
}

/* レイヤー②：光がふわっと動くレイヤー */
.c-section--cta-gradient-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      circle at 15% 20%,
      rgba(255,255,255,0.12),
      transparent 55%
    ),
    radial-gradient(
      circle at 80% 80%,
      rgba(255,255,255,0.07),
      transparent 60%
    );
  animation: ctaLightDrift 5s ease-in-out infinite alternate;
  z-index: 1;
  pointer-events: none;
}

/* 中身を最前面に */
.c-section--cta-gradient-bg > .container {
  position: relative;
  z-index: 2;
}

/* テキスト色調整（念のため） */
.c-section--cta-gradient-bg h2,
.c-section--cta-gradient-bg h3,
.c-section--cta-gradient-bg p,
.c-section--cta-gradient-bg span {
  color: #ffffff;
}

/* アニメーション */
@keyframes ctaGradientFlow {
  0%   { background-position:   0% 0%; }
  50%  { background-position: 100% 100%; }
  100% { background-position:   0% 0%; }
}

@keyframes ctaLightDrift {
  0%   { transform: translate(-25px, -15px); }
  100% { transform: translate(25px, 15px); }
}

/* スマホでは少し控えめにしたい場合 */
@media (max-width: 768px) {
  .c-section--cta-gradient-bg::before {
    animation-duration: 16s;
  }
  .c-section--cta-gradient-bg::after {
    opacity: 0.6;
  }
}


/* トップページ */
.rotate3d .center{background-color: #21252978;}
.g-gmap{padding: 0px 0;}
/* スマホ（基本） */
.rotate3d .en {
  font-size: 3rem;
}

/* PC（992px以上） */
@media screen and (min-width: 992px) {
  .rotate3d .en {
    font-size: 4rem;
  }
}
.p-common-artist article:first-child{transform: translateY(0px);}
.p-common-artist article:last-child{transform: translateY(-10px);}
.g-header .g-header__nav-btn{background-color: #123a5f;}
.g-header .g-header__nav{background-color: #123a5f;}
.g-nav .g-nav__list .nav-link:hover{color: #123a5f;}
.g-nav .g-nav__list .nav-link:before{background: linear-gradient(#123a5f, #123a5f) right bottom / 0 1px no-repeat;}
.g-fixarea .g-fixarea-footer .g-fixarea-footer__item{background-color: #123a5f;}
.g-fixarea .contact--1{background-color: #123a5f;}
.g-pagetop a{background: #123a5f;}
.p-common-news .p-common-news__ttl:before{color: #123a5f;}
/* レスポンシブビデオスタイル */
#video-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%; /* 16:9のアスペクト比を維持 */
}

#video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
