@charset "UTF-8";
/*モコモコ*/
  .c-section--line-moko {
    --bg: transparent;

    height: 25px;
    padding: 0;
    background: url(../../../../../../cms/wp-content/themes/doc/assets/img/common/bg-line-moko.svg)
      repeat-x center bottom;
    background-color: var(--bg) !important;
    background-size: 80px 25px;
    position: relative;
  }
/* ふわっと揺れる */
.js-float {
  display: inline-block;
  backface-visibility: hidden;
  will-change: transform, filter;
  animation: floatBob 4.5s ease-in-out infinite;
}

/* ホバー時は少しだけ持ち上げる（任意） */
.js-float:hover {
  animation-play-state: paused;         /* ふわっと止めたいなら */
  transform: translate3d(0,-4px,0) rotate(-0.2deg) scale(1.01);
}

/* キーフレーム：上下 + ごくわずかな傾きで“生きてる感” */
@keyframes floatBob {
  0%   { transform: translate3d(0, 0, 0) rotate(0deg);        filter: drop-shadow(0 8px 6px rgba(0,0,0,.08)); }
  50%  { transform: translate3d(0, -6px, 0) rotate(-0.4deg);  filter: drop-shadow(0 10px 10px rgba(0,0,0,.06)); }
  100% { transform: translate3d(0, 0, 0) rotate(0deg);        filter: drop-shadow(0 8px 6px rgba(0,0,0,.08)); }
}

/* OSの“動きを減らす”に追従 */
@media (prefers-reduced-motion: reduce) {
  .js-float { animation: none; }
}
/* 共通のアニメーション設定 */
.p-common-menu.--01,
.p-common-menu.--02,
.p-common-menu.--03,
.p-common-menu.--04 {
  position: absolute; /* すでにposition設定済なら不要 */
  animation: floatImg 3.5s ease-in-out infinite;
  will-change: transform;
}

/* 各画像ごとに少しタイミングをずらす */
.p-common-menu.--01 { animation-delay: 0s; }
.p-common-menu.--02 { animation-delay: 0.8s; }
.p-common-menu.--03 { animation-delay: 1.6s; }
.p-common-menu.--04 { animation-delay: 2.4s; }

@keyframes floatImg {
  0%   { transform: translateY(0) rotate(0deg) scale(1); }
  50%  { transform: translateY(-12px) rotate(-1.5deg) scale(1.02); }
  100% { transform: translateY(0) rotate(0deg) scale(1); }
}

/* OSの「動きを減らす」に対応 */
@media (prefers-reduced-motion: reduce) {
  .p-common-menu.--01,
  .p-common-menu.--02,
  .p-common-menu.--03,
  .p-common-menu.--04 {
    animation: none;
  }
}
/* p-common-about の装飾画像をふわっと動かす */
.p-common-about.--01,
.p-common-about.--02,
.p-common-about.--03,
.p-common-about.--04 {
  position: absolute; /* すでにposition指定済なら不要 */
  animation: aboutFloat 3.5s ease-in-out infinite;
  will-change: transform;
}

/* 遅延をずらして自然な動きに */
.p-common-about.--01 { animation-delay: 0s; }
.p-common-about.--02 { animation-delay: 0.7s; }
.p-common-about.--03 { animation-delay: 1.4s; }
.p-common-about.--04 { animation-delay: 2.1s; }

@keyframes aboutFloat {
  0%   { transform: translateY(0) rotate(0deg) scale(1); }
  50%  { transform: translateY(-10px) rotate(-1deg) scale(1.02); }
  100% { transform: translateY(0) rotate(0deg) scale(1); }
}

/* OSの「動きを減らす」に対応 */
@media (prefers-reduced-motion: reduce) {
  .p-common-about.--01,
  .p-common-about.--02,
  .p-common-about.--03,
  .p-common-about.--04 {
    animation: none;
  }
}
/*ビジュアル*/
.c-visual {
  position: relative;
}

.c-visual__illust {
  position: absolute;
  top: 5%;   /* 元の位置調整 */
  left: 0;   /* 元の位置調整 */
  width: 140px; /* サイズは調整可能 */
  animation: floatOne 4s ease-in-out infinite;
  will-change: transform;
}

/* 画像のリセット */
.c-visual__illust img {
  display: block;
  width: 100%;
  height: auto;
}

/* 最初の配置からふわふわさせる */
@keyframes floatOne {
  0%   { transform: translateX(-350%) rotate(-15deg) translateY(0); }
  50%  { transform: translateX(-350%) rotate(-15deg) translateY(-12px); }
  100% { transform: translateX(-350%) rotate(-15deg) translateY(0); }
}

/*ヘッダー*/
.g-header .g-header__resv{background-color: #63a4e5;}
.g-header .g-header__nav-btn{background-color: #ff7d42;}
.g-header .g-header__nav{background-color: #ff7d42;}
.c-visual .c-visual__time{background-color: #ffffff00;}
/*セクション*/
.c-box-border{border: 5px solid #ff7d42;}
.g-fixarea .contact--1{background-color: #ff7d42;}
.g-pagetop a{background: #ff7d42;}
.c-label{background-color: #ff7d42;}
/*フッター*/
.p-common-cta .c-schedule{background-color: #ffffff00;}
.p-common-cta{background-color: #ff7d42 !important;}
#gmap {
  position: relative;
  overflow: hidden;
  font-weight: 500;
  line-height: 2;
  padding: 128px 0;
  text-align: left;

  /* ★ gray背景とグレースケールを削除 */
  background: none;
  -webkit-filter: none;
  filter: none;
}

/* 背景を左右で分割 */
#gmap::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, #f48ca3 50%, #6c4a4a 50%);
  z-index: 0;
}

#gmap .container {
  position: relative;
  z-index: 1; /* 背景より上に表示 */
}
/* ヘッダービジュアル */
.c-breadcrumbs ol{margin-top: 0px;-webkit-box-pack: start;justify-content: flex-start;}
.c-visual-sub .c-after__image{display: block;}
/* ご挨拶 */
.c-after__bc{background-color: #ddf9ff;}
.p-common-texture:after{background-color: #fdfbf3;background-image: none;}
/* 背景 */
body {
  background-image: repeating-linear-gradient(
    45deg,
    #ffffff,
    #ffffff 20px,
    #f9fcff 20px,
    #f9fcff 40px
  );
}
