@charset "UTF-8";
/************************************************
 * 各ファイルの参照
 ************************************************/
/*==================================================*
 * 変数
 *==================================================*/
/* 色等の基本定義 */
:root {
  /* アクセントカラー(差し色) */
  --color-accent: #23b3d1;
  /* メインカラー */
  --color-main: #053A91;
  /* サブカラー */
  --color-sub: #023196;
  /* サブカラー2 */
  --color-sub2: #88888A;
  /* サブカラー3 */
  --color-sub3: #26455C;
  /* サブカラー4 */
  --color-sub4: #b5e4f0;
  /* サブカラー5 */
  --color-sub5: #D4DADE;
  /* サブカラー6 */
  --color-sub6: #f1f1f1;
  /* ベースカラー */
  --color-base: #FFFFFF;
  /* グラデーションカラー */
  --color-gra: linear-gradient(-40deg, var(--color-sub), var(--color-main));
  /* グラデーションカラー2 */
  --color-gra2: linear-gradient(40deg, var(--color-accent), var(--color-sub3) 70%);
  /* グラデーションカラー3 */
  --color-gra3: linear-gradient(-40deg, var(--color-accent), var(--color-main));
  /* グラデーションカラー4 */
  --color-gra4: linear-gradient(-40deg, #afdbc1, var(--color-accent));
  /* リンクカラー */
  --color-link: #74d3d3;
  /* リンクカラー(hovar) */
  --color-hovar: #86dacc;
  /* ボタンカラー */
  --color-btn: var(--color-gra);
  /* ボタンカラー(hovar) */
  --color-btn-h: var(--color-gra3);
  /* ボタンカラー2 */
  --color-btn2: var(--color-accent);
  /* ボタンカラー2(hovar) */
  --color-btn2-h: var(--color-gra4);
  /* カラー白黒 */
  --color-bw: #fff;
  /* カラースクロール */
  --color-scroll: brightness(0%) contrast(300%) hue-rotate(360deg) invert(100%);
  /* 黒 */
  --color-blk: #333;
  /* 影 */
  --shadow: -5px 10px 35px -20px rgba(18, 58, 90, 0.7);
  /* テキスト影 */
  --text-shadow: 1px 1px 15px rgba(255, 255, 255, 0.7);
  /* swapメインフォント */
  --font-swap: "YkhnG","Noto Sans JP", sans-serif;
  /* メインフォント */
  --font-main: var(--font-swap);
  /* swapサブ */
  --font-swap-sub: var(--font-swap-min);
  /* サブ */
  --font-sub: var(--font-min);
  /* キャッチコピー */
  --font-cat: var(--font-sub);
  /* キャッチコピー2 */
  --font-cat2: var(--font-main);
  /* swap明朝 */
  --font-swap-min: "YkhnM","Noto Serif JP", serif;
  /* 明朝 */
  --font-min: var(--font-swap-min);
  /* 英字 */
  --font-eng: "Eng";
  /* 大文字表記 uppercase none*/
  --text-tra: uppercase;
  /* PC横幅 */
  --width-pc: 1280px;
  /* タブレット横幅 */
  --width-tb: 768px;
  /* スマホ横幅 */
  --width-sp: 430px;
  /* スクロールバー横幅(javascript優先) */
  --width-scroll: calc(100vw - 100%);
  /* 画面高さ(javascript優先) */
  --height-main: 100vh;
  /* メニュー高さ */
  --height-menu: 70px;
  /* SPメニュー高さ */
  --height-menu-sp: 70px;
  /* 黄金比 */
  --ratio-golden: 1.618 / 1;
  /* 白銀比 */
  --ratio-silver: 1.414 / 1;
  /* ホバー (画像) */
  --img-hover: 1.1;
  /* ボタン (移動) */
  --btn-move: scale(0.99, 0.99) translateY(2px);
  /* PC余白 */
  --padding-pc: 150px;
  /* SP余白 */
  --padding-sp: 100px;
  /* 角丸 */
  --radius: 0;
  /* 角丸(大) */
  --radius-max: 40px;
  /* 角丸(小) */
  --radius-min: 6px;
  /* 背景 */
  --z-back: -1;
  /* 一時的に最前面 */
  --z-front: 9999;
  /* 常に固定表示 */
  --z-fix: 9998;
}

/************************************************
 * 各ファイルの参照
 ************************************************/
/*==================================================*
 * アニメーション
 *==================================================*/
/*==================================================*
 * 中央から横全体
 *==================================================*/
.bgcenterx:before {
  content: "";
  /*絶対配置で位置を指定*/
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  /*色や形状*/
  background: var(--color-gra);
  width: 100%;
  height: 100%;
  /*アニメーション*/
  transition: transform 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: top;
}
.bgcenterx:hover:before {
  transform: scale(1, 1);
}

/*==================================================*
 * 中央から外
 *==================================================*/
.bgcenterout:before {
  content: "";
  /*絶対配置で位置を指定*/
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  /*色や形状*/
  background: #fff;
  width: 100%;
  height: 100%;
  /*アニメーション*/
  transition: transform 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 0);
  transform-origin: center;
}
.bgcenterout:hover:before {
  transform: scale(1, 1);
}

/*==================================================*
 * ボタン
 * =================================================*/
/*== ボタン共通設定 */
.w-btn {
  position: relative;
  overflow: hidden;
  /*ボタンの形状*/
  text-decoration: none;
  display: inline-block;
  padding: 16px 40px;
  text-align: center;
  font-size: 1.2rem;
  outline: none;
  transition: ease 0.2s;
  background: var(--color-btn);
  box-shadow: var(--shadow);
  border-radius: var(--radius-max);
}
.w-btn span {
  position: relative;
  z-index: 2; /*z-indexの数値をあげて文字を背景よりも手前に表示*/
  color: #fff;
  font-weight: normal;
  white-space: nowrap;
}
.w-btn:hover {
  box-shadow: none;
  transform: var(--btn-move);
}
.w-btn:hover span {
  color: #fff;
}

.w-btn-o {
  transition: ease 0.2s;
  margin-top: 80px;
  text-align: center;
}
.w-btn-o img {
  width: 40px;
  height: 10px;
  margin-left: 0;
  position: absolute;
  margin-left: -20px;
  margin-top: 30px;
  z-index: 3;
}
.w-btn-o img:hover {
  transform: var(--btn-move);
}
.w-btn-o .bgcenterx:before {
  background: var(--color-btn-h);
}
.w-btn-o:hover {
  transform: var(--btn-move);
}

/*==================================================*
 * 横移動させて全画面で見せる
 *==================================================*/
.slider {
  position: relative;
  z-index: 1;
  /*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
  height: calc(89vh + 3px); /* スライダー全体の縦幅を(80vh）にする */
}

.slider-item {
  width: 100%; /* 各スライダー全体の横幅を画面の高さいっぱい（100%）にする */
  height: 94vh; /* 各スライダー全体の縦幅を（80vh）にする */
  background-repeat: no-repeat; /*背景画像をリピートしない */
  background-position: center; /*背景画像の位置を中央に */
  background-size: cover; /* 背景画像が.slider-item全体を覆い表示 */
}

/* 矢印の設定 */
/* 戻る、次へ矢印の位置 */
.slick-prev,
.slick-next {
  position: absolute; /* 絶対配置にする */
  z-index: 3;
  top: 42%;
  cursor: pointer; /*マウスカーソルを指マークに */
  outline: none; /*クリックをしたら出てくる枠線を消す */
  border-top: 2px solid #fff; /* 矢印の色 */
  border-right: 2px solid #fff; /* 矢印の色 */
  height: 25px;
  width: 25px;
}

.slick-prev {
  /*戻る矢印の位置と形状*/
  left: 2.5%;
  transform: rotate(-135deg);
}

.slick-next {
  /* 次へ矢印の位置と形状 */
  right: 2.5%;
  transform: rotate(45deg);
}

/* ドットナビゲーションの設定 */
.slick-dots {
  position: relative;
  z-index: 3;
  text-align: center;
  margin: -50px 0 0 0;
}

.slick-dots li {
  display: inline-block;
  margin: 0 5px;
}

.slick-dots button {
  color: transparent;
  outline: none;
  width: 8px; /* ドットボタンのサイズ */
  height: 8px; /* ドットボタンのサイズ */
  display: block;
  border-radius: 50%;
  background: #fff; /* ドットボタンの色 */
}

.slick-dots .slick-active button {
  background: var(--color-main); /* ドットボタンの現在地表示の色 */
}

/*===========================================================*
 * hoverした時に画像に波紋
 *===========================================================*/
.circle span.mask {
  position: relative; /* 波紋の基点となる位置を定義 */
}
.circle span.mask::before {
  position: absolute;
  content: "";
  transform: scale(0); /* 円の大きさ初期値は0 */
  opacity: 0; /* 透過0 */
  width: 100%; /* 円のサイズ指定 */
  height: 100%; /* 円のサイズ指定 */
  border-radius: 50%; /* 円の角丸指定 */
  background: rgba(255, 255, 255, 0.2); /* 円の背景色 */
}
.circle span.mask:hover::before {
  animation: circle 0.75s; /* アニメーションの名前と速度を定義 */
}

@keyframes circle {
  0% {
    transform: scale(0);
    opacity: 1; /* 透過なし */
  }
  30% {
    opacity: 1;
  }
  100% {
    transform: scale(2); /* アニメーションで大きくなった2倍の円の指定 */
  }
}
/*==================================================*
 * 基本アニメーション
 *==================================================*/
/* シャッ（左から）*/
.bgextend {
  animation-name: bgextendAnimeBase;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  position: relative;
  overflow: hidden; /* はみ出た色要素を隠す */
  opacity: 0;
}

@keyframes bgextendAnimeBase {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* 中の要素 */
.bgappear {
  animation-name: bgextendAnimeSecond;
  animation-duration: 1s;
  animation-delay: 0.6s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes bgextendAnimeSecond {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.bgLRextend::before {
  animation-name: bgLRextendAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--color-main); /* 伸びる背景色の設定 */
  left: 0;
}

@keyframes bgLRextendAnime {
  0% {
    transform-origin: left;
    transform: scaleX(0);
  }
  50% {
    transform-origin: left;
    transform: scaleX(1);
  }
  50.001% {
    transform-origin: right;
  }
  100% {
    transform-origin: right;
    transform: scaleX(0);
  }
}
/* くるっ（Z 軸（右へ）） */
.rotateRightZ {
  animation-name: rotateRightZAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes rotateRightZAnime {
  from {
    transform: rotateZ(0);
  }
  to {
    transform: rotateZ(360deg);
  }
}
/* ふわっ（その場で） */
.fadeIn {
  animation-name: fadeInAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* ふわっ（下から） */
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(60px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* パタッ（左上へ） */
.flipLeftTop {
  animation-name: flipLeftTopAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes flipLeftTopAnime {
  from {
    transform: translate(-20px, 80px) rotate(-15deg);
    opacity: 0;
  }
  to {
    transform: translate(0, 0) rotate(0deg);
    opacity: 1;
  }
}
/* パタッ（右上へ） */
.flipRightTop {
  animation-name: flipRightTopAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes flipRightTopAnime {
  from {
    transform: translate(-20px, 80px) rotate(25deg);
    opacity: 0;
  }
  to {
    transform: translate(0, 1) rotate(0deg);
    opacity: 1;
  }
}
/* ボンッ（拡大） */
.zoomIn {
  animation-name: zoomInAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}

@keyframes zoomInAnime {
  from {
    transform: scale(0.6);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
/* パタッ（下へ） */
.flipDown {
  animation-name: flipDownAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes flipDownAnime {
  from {
    transform: perspective(2500px) rotateX(100deg);
    opacity: 0;
  }
  to {
    transform: perspective(2500px) rotateX(0);
    opacity: 1;
  }
}
/* ふわっ（下から） */
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ふわっ（左から）*/
.fadeLeft {
  animation-name: fadeLeftAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeLeftAnime {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* ふわっ（右から） */
.fadeRight {
  animation-name: fadeRightAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeRightAnime {
  from {
    opacity: 0;
    transform: translateX(100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* テキストがじわっと出現 */
.blur {
  animation-name: blurAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes blurAnime {
  from {
    filter: blur(10px);
    transform: scale(1.02);
    opacity: 0;
  }
  to {
    filter: blur(0);
    transform: scale(1);
    opacity: 1;
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定*/
.bgLRextendTrigger,
.bgappearTrigger,
.zoomInTrigger,
.fadeUpTrigger,
.fadeLeftTrigger,
.fadeRightTrigger,
.flipLeftTopTrigger,
.flipRightTopTrigger,
.blurTrigger {
  opacity: 0;
}

/*========= 光りながら出現させるためのCSS ===============*/
.glowAnime span {
  opacity: 0;
}

/*アニメーションで透過を0から1に変化させtext-shadowをつける*/
.glowAnime.glow span {
  animation: glow_anime_on 1s ease-out forwards;
}

@keyframes glow_anime_on {
  0% {
    opacity: 0;
    text-shadow: 0 0 0 rgb(245, 255, 189), 0 0 0 rgb(255, 248, 189);
  }
  50% {
    opacity: 1;
    text-shadow: 0 0 10px rgb(255, 251, 189), 0 0 15px rgb(255, 245, 189);
  }
  100% {
    opacity: 1;
    text-shadow: none;
    /* text-shadow: 0 0 0 #3e3e4a, 0 0 0 #3e3e4a; */
    /* text-shadow: 1px 1px 10px #686c1d; */
  }
}
/************************************************
 * 各ファイルの参照
 ************************************************/
/************************************************
 * 各ファイルの参照
 ************************************************/
/************************************************
 * 再利用
 ************************************************/
/* 中央 */
/* セクション */
/* セクション フル幅 */
/* セクション フルサイズ */
/* セクション フルサイズ固定 */
/* セクション フルサイズトップ */
/* ボタン */
/* メインフォント */
/* サブフォント */
/* 明朝フォント */
/* ふわふわ */
@keyframes wobbling_x {
  0% {
    right: 20px;
  }
  100% {
    right: 10px;
  }
}
@keyframes wobbling_y {
  0% {
    margin-top: 0px;
  }
  100% {
    margin-top: 10px;
  }
}
/************************************************
 * フォント
 ************************************************/
@font-face {
  font-family: "Eng";
  font-display: swap;
  src: url("data:application/x-font-woff;base64,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") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "YkhnG";
  font-display: swap;
  src: url("data:application/x-font-woff;base64,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") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "YkhnG";
  font-display: swap;
  src: url("data:application/x-font-woff;base64,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") format("woff2");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "YkhnM";
  font-display: swap;
  src: url("data:application/x-font-woff;base64,d09GMk9UVE8AAAnsAAkAAAAAEVAAAAmnAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYwHBmAAgQwBNgIkA2wEBgWRTgcgG6wQo5CMky6Z7K8O7GD4eIEqTkosx+Uaa0KAvW1hRJqLr33r8rO1fMO+aj+g+VSraqQiuDOU8v/HOf9W0maWaab9UEzLXAsTkeJBVO5U0POHeNmYqr5kr2xQ2YYzywGCDyAhIBCyxiFqWusqjK1SBAABNdb27hH1kFxLEuuE9lSYDqkQNVkznc5QTft/ALGr3zcXQpX5Jdokdy2rA0AXmABN3u4cRKgqXeGrfP3/1l5tXsIucd8GJsDKRugYszt5gTk37Oa8EE+Aoa1tleLdEqAs1Ny4SnA8A2dAg+uYAu6c52HVsEoa0mHD7igZlAKMp+gwb1lAlPuy4ElTXaZ7+0YFLgu3zOoj9hA12Nosk2Xif/+jmVw0V4hdlRUUpI6SxJS3ttTA60Uja9leAx+ajQZ+tLYGlRyEAWb4eoWkj/QKMXh7eHkHR/pHxo0OCY0L9/f1i9Rqe7n17K+9czvtjLiISO+gCK1HsGdIeChVy64gL629X2Rk6CCdLiYaXZfVGe/qGRKkc3AlabT9bu2kqdr+6uJGwO0B5CDsHQgA9EAWY1uK2ta26zUhj8LW7cXcTjmBhx4F3H8zOQAMAK4ACAAZAAUAlwCqTKstdadBNI/iaRvtpZupPwHkQ3SrplynPgOFLW2l+tRjoLT9jcjRbC7tEBnJp8YzLyc2Ta7x2BK0OaUE/8eCbViJpVlFcWXCgYmHaetGliMRZMJA/i6ev4B3FZl4fhjaCRPxcJsLE+4iS1B5GvcvxKkELFwwFafgwgN42tr37z+DbnceQtaI7XiRE6cGlZlsTIK4tVVlTGWS2DvMxJmmVoWJNqJg0g1BYTpkrJip5+l6cSbROYMLabHJh4xlyIhCnm6YxWygEl/r2onEY2xlHCkWfaieHRxH1ptmMiar0hYqiSmhDXfkdpOF0hO+2cwoUlJar85/hg8DeMnMx0RpqZ+ae0++S5N54kVs6Z9mO+KoopzUyuYc70m9TBtcVNBj5J3nqRe1JX8kW+qoIlxzS578+CviJa5/p+IeiDsH8AVq2uu6JdEhCd20/SQ64rdnC+iHv73U3AOjBx9PPvzpZWHxatJrzE+qQxqq2yypjvJ4LJdMFpbwJInKttVQ38+M1E9NdlXC8ktBDJfcOIPfFkCSCO2SQU2P4QkBxNeOae6j5hLIcy5H4WFD01yUNRjw0NZkOIzUNzVVMMuNJP4pvBHLKrCOSFiFD0bCQtD/NctCjMhKhUo/jInBBThzXa8C6s5upv2YOtVm0k9RQPTrXuEJ3B9T7Icsd5As9PGENIt0pxakR1+2oJih7DsrYo3EZ9P2g1iT2cDGW7yPobBfz3e44wPpJR8fwxDW5Qe1RuqzqbI6VXQ2sAWWuT2eke7EAklWZui5ij7BLKcnjl959KkMNqJsZSUeGoOrKJ9XcBD6sGKi0h5TScHfkptLHCfyW8OZr3tr3+NNPBzauBgNGBWCgTj3QIIxOdczavJIH3arpH14eiM2YNVQUKUvej/gCUgxkYiM98XwUPRHYXtoQ51i28uxFuvCy9+ItRG38GWPmfotpauM+A4veaEOxwtLh88YNdPLP1mMQSuE1T5svWr1DWbl4eLiOwc/n286hXfx06ib1BlpF3TQJ1PYEL0tsxCrsLBo875n73fNsL+9yMp66id9JH7dc0yycQBPVnaXz73Sj/g1f6R+Ko60FOukS/zRFUzTHDW1RP08dMN+ZQNwOs7yDaAtE1gvNenZDQLOxulh/VF/QXdlHrFE9kiTavYqxmKNUI1X8O76y3gOzwhH+xQ9L649imfwbPplvIdXamt/rWZbeIx+pJnfoaYtt/nW4lE8WfYEsW/0h7z9AXaOQXU0h/mVVRuIehyW7o6TcErt7OexfWKE2TgFJ693x6GoFwSLbHZ2HmM4om77+1w5hK/xadhjPInHGmpIy20sPyclPrsaQ9bjXADex1s6A73sAxJTrESp+m1XAO4pU/RwFLTPolb+HVRSVjenCuk4FIi3gItfvuFNilXASTsUuTdreMndCt14N/qvFnowN9hQCwwAIF3mluFWUoLV/T3+PTvxys+VP1d4WbvQ0hd5CA/gsEMv+c2tqt2+0u2SOHVJ2/5XisQjgH/HvM3jzTXP+piiWAZgFB0CKvn3OUD+QaMzJ8XDkx3d25Ab5PjELjc4psDZrbVJ2dHD2sZcG/M8zTAzNI2JGpPoGz/LbutLG0N1Q7SxedjhGvN0zPwzDFubCPYHCaABPgAHwKYtiWZlB9YPkZ7jgSrFdFC9RmzUoJBxalLPHNVUEU3zjVdTCCmZ8FOtVFBmLxXlhWmV0O1slaLNlSrVqGxLpWnyt0o3Lq9QGdqzsCczPESfKttgBfbkaC//KjdupDxWedrHDcrudrSi26/+H9jgZ6EGxcfdkzYJl3CUbTu/B3ldxQZNNc+7gXdN56vz/u9o9b/JYMQc5f0Lj0iskoWtX5ceqSuy/ivj66QSo0ySK9aRtehPHzpc1TqJYoG/0GBzfAetP6p39wg2tREqDIxKn3W1h2t3AbzDGSvVL9Y65taquHMop7mF5T3lNHyT7AJDt4TZck3RJZ9N1A7FptT/22CxNoNzhRMP9GC/z3oTuPtheK09aZMwvI4nD1dXccDSpAA0QuxvcnzdHvU9iZxzFkaC4lwQzhDwqeGcGXC4cMAc5bwzz8evYjFxXXPmdex8tBnu733eTVpYSzmei38LlqEgI+5ceENRAiKgZxz8xPd+g34JJVUMpGPp/9C6xVpII2HqfygpPzUhqsmQazqiM/m6OfFR7YEGyGMQFsF52JoPJmIW9Kd4SwZPtMIFUzXshg0dCRhPo2vQFZdSM5Fn5dJg37jz4uWXB7bvOHsFzsixIz1sGJe4bn5vWLbWE2zzx7veVsLuRGlAN4ZDD4fKA/b4pKrpkkaMojOmPhWXC3feu302MeAaXAiC4utBJGLwdQkSO+i4alQxdUjietC5mPcptjuSzao5IrxmSynB47ISFCL+qWTZxtJFP7QaYcyFcpNvHYmbYwrimt8KuMSGpdEssYQnjqawQN9bou6dOp/9EySp3h4fSCE4QqTX6l3eWowHd+9eaG1SysO9AO28HuBT1K812g4Xu62xrfVax9ltRz03Wawl6BbzbmOMrmyXPpr2n2Ay0/DUT4ASZqBzcq+IwwzAlpSkQJ50CEKXDQW3zZwC6bMmHjDNnZ+EjQDJsVzhikg+ASy64HGXSaryBOTYa2AfSboyaeLqRiWnuKv54r/mQoffgUeViO6nRGyMSdGJE6NoSa7Ck8hivXP6bFUaoQE=") format("woff2");
  font-weight: normal;
  font-style: normal;
}
/************************************************
 * 【ベース】
 ************************************************/
* {
  box-sizing: border-box;
}

body {
  overflow-x: hidden;
  background: var(--color-base) !important;
  color: var(--color-blk);
  font-family: var(--font-swap);
  font-size: 1rem;
  line-height: 1.85;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  letter-spacing: 0.2em;
}
body.appear {
  font-family: var(--font-main);
}
body.not-home {
  opacity: 0;
  animation: fadeInAnime 1s forwards 0.5s;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.page a {
  color: var(--color-link);
  text-decoration: none;
  outline: none;
}

.page a:hover {
  color: var(--color-hovar);
  text-decoration-color: var(--color-sub);
}

img {
  width: 100%;
  height: auto;
}

.not-display {
  display: none;
}

/* 黄色マーカー */
.border-yellow {
  background: linear-gradient(transparent 60%, #f1f18b 60%);
}

/* 打ち消し線 */
del.line-through {
  background-image: linear-gradient(#000, #000);
  background-position: 0 50%;
  background-size: 100% 2px;
  background-repeat: repeat-x;
  color: #888;
  margin: 0 0.4em;
  text-decoration: none;
}

/* reCAPTCHAマークは非表示に */
.grecaptcha-badge {
  visibility: hidden;
}

.entry-body > p {
  margin: 0;
  padding: 0;
}

/************************************************
 * 【ベース】レスポンシブ
 ************************************************/
/* スマホ表示 */
.sp,
.sp-br,
span.sp-br {
  display: none;
}

/* PC＋タブレット表示 */
.pc {
  display: inline-block;
}

.not-sp {
  display: block;
}

.pc-text-right {
  text-align: right;
}

@media screen and (max-width: 768px) {
  /* タブレット＋スマホの改行 */
  .tb-br {
    display: block;
  }
}
@media screen and (max-width: 430px) {
  /* スマホの改行 */
  .sp-br,
  span.sp-br,
  p span.sp-br,
  h3.sp {
    display: block;
  }
  .btn03 span.sp-br {
    padding: 0;
  }
  .sp-text-left {
    text-align: left;
  }
  .sp-text-right {
    text-align: right;
  }
  .sp {
    display: inline-block;
  }
  .pc,
  .not-sp {
    display: none;
  }
}
/************************************************
 * 【ベース】ボタン
 ************************************************/
.btn-primary {
  background-color: #337AB7;
}

.btn-secondary {
  background-color: #5CB85C;
}

.btn-tertiary {
  background-color: #F0AD4E;
}

/************************************************
 * 隠しヘッダーメニュー
 ************************************************/
#g-nav {
  display: none;
  position: fixed;
  z-index: 999;
  /* ナビのスタート位置と形状 */
  bottom: 0;
  width: 100%;
  height: 100vh; /* ナビの高さ */
  /* 動き */
  transition: all 1.5s;
  /* ナビの数が増えた場合縦スクロール */
  /*アクティブになったエリア*/
}
#g-nav #g-nav-list {
  display: none; /*はじめは表示なし*/
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh; /* 表示する高さ */
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
#g-nav ul {
  padding: 0;
  opacity: 0;
  position: absolute;
  z-index: 999;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#g-nav ul li {
  text-align: center;
  list-style: none;
  margin: 0 0 10px 0;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
#g-nav ul li a {
  position: relative;
  color: #fff;
  text-decoration: none;
  display: block;
  text-transform: var(--text-tra);
  letter-spacing: 0.1em;
  font-weight: normal;
  padding: 12px 15px 0 15px;
  font-family: var(--font-eng);
}
#g-nav ul li a::after {
  position: absolute;
  bottom: -7px;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.3s;
}
#g-nav ul li a:hover {
  color: #fff;
}
#g-nav ul li a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}
#g-nav ul.footer-sns {
  display: none;
}
#g-nav.panelactive {
  display: block;
  z-index: 101;
  position: fixed;
  top: 0;
  width: 100%;
  height: 100vh;
}
#g-nav.panelactive #g-nav-list {
  display: block;
  margin-top: 0;
  position: fixed;
  top: 0;
  width: 100%;
  height: 100vh;
}
#g-nav.panelactive ul {
  opacity: 1;
}
#g-nav.panelactive ul li {
  animation-name: gnaviAnime;
  animation-duration: 1s;
  animation-delay: 0.2s; /*0.2 秒遅らせて出現*/
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes gnaviAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/************************************************
 * クリックしたら円形背景が拡大（右下から
 ************************************************/
.circle-bg {
  display: block;
  position: fixed;
  z-index: 100;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: var(--color-gra);
  /*丸のスタート位置と形状*/
  transform: scale(0);
  right: -50px;
  bottom: -50px;
  transition: all 0.6s;
  /*丸の拡大*/
}
.circle-bg.circleactive {
  transform: scale(50);
}

/************************************************
 * テーマメニュー
 ************************************************/
#vk-mobile-nav-menu-btn {
  display: none;
}

#site-header {
  display: none;
}

#g-nav-list .sub-menu {
  position: absolute;
  display: none;
}
#g-nav-list .sub-menu li::before, #g-nav-list .sub-menu li::after {
  background: none;
}

#g-nav-list ul li:hover .sub-menu {
  display: block;
  padding-top: 16px;
}
#g-nav-list ul li:hover .sub-menu .sub-menu li {
  background: var(--color-main);
  border-bottom: 1px solid var(--color-hovar);
}
#g-nav-list ul li:hover .sub-menu .sub-menu li:hover {
  background: var(--color-gra);
}
#g-nav-list ul li:hover .sub-menu .sub-menu li a {
  color: #fff;
}

/************************************************
 * ヘッダーバー
 ************************************************/
#top-header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
  display: flex;
  justify-content: center;
  align-items: center;
  height: var(--height-menu);
  background: transparent;
  transition: all 0.5s;
}
.scrolled #top-header {
  background: #fff;
}
#top-header h2 {
  position: absolute;
  top: auto;
  bottom: auto;
  left: 5%;
  margin: 0;
  padding: 0;
  transition: all 0.5s;
  border: none;
}
#top-header h2 img.main-logo {
  display: block;
  width: auto;
  height: 50px;
  margin: 0;
  filter: var(--color-scroll);
}
.not-home #top-header h2 img.main-logo {
  filter: var(--color-scroll);
}
.scrolled.home #top-header h2 img.main-logo {
  filter: none;
}
.scrolled.not-home #top-header h2 img.main-logo {
  filter: none;
}
@media screen and (max-width: 768px) {
  #top-header h2 img.main-logo {
    height: 40px;
  }
}
@media screen and (max-width: 430px) {
  #top-header {
    height: var(--height-menu-sp);
  }
}

/************************************************
 * ヘッダーメインメニュー
 ************************************************/
.header-nav {
  display: flex;
  position: absolute;
  right: 100px;
  gap: 20px;
  padding: 0;
  margin: 0;
}
.header-nav li a {
  position: relative;
  color: var(--color-blk);
  text-decoration: none;
  font-family: var(--font-eng);
  text-transform: var(--text-tra);
}
.header-nav li a::after {
  position: absolute;
  bottom: -7px;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: var(--color-accent);
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.3s;
}
.header-nav li a:hover {
  color: var(--color-blk);
}
.header-nav li a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}
.home .header-nav li a {
  color: var(--color-bw);
}
.scrolled.home .header-nav li a {
  color: var(--color-blk);
}
.not-home .header-nav {
  display: none;
}
.scrolled.not-home .header-nav {
  display: flex;
}
@media screen and (max-width: 1250px) {
  .header-nav {
    display: none;
  }
  .scrolled.not-home .header-nav {
    display: none;
  }
}

/************************************************
 * ヘッダーボタンメニュー
 ************************************************/
.open-btn {
  position: fixed;
  top: 0;
  right: 0;
  height: 70px;
  width: 70px;
  transition: all 0.5s;
  border-left: none;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  z-index: 9998;
  filter: var(--color-scroll);
  /* ボタン内側 */
  /* activeクラスが付与されると線が回転して×になり、
     Menu表記をしている2つ目の要素が透過して消える*/
}
.scrolled .open-btn {
  filter: none;
}
.not-home .open-btn {
  filter: var(--color-scroll);
}
.not-home.scrolled .open-btn {
  filter: none;
}
.open-btn span {
  display: inline-block;
  position: absolute;
  transition: all 0.4s;
  width: 40px;
}
.open-btn span:nth-of-type(1), .open-btn span:nth-of-type(3) {
  background: var(--color-blk);
  height: 1px;
  opacity: 1;
  left: 15px;
  top: 15px;
}
.open-btn span:nth-of-type(2) {
  top: 42px;
  left: 0;
  height: 18px;
  color: var(--color-blk);
  padding-left: 0;
  margin-left: 15px;
  background: url("/wp-content/themes/lightning-child/img/menu_b_g2.svg") no-repeat right;
  background-size: contain;
}
.open-btn span:nth-of-type(2)::before {
  content: "";
  opacity: 1;
  position: absolute;
  left: 0;
  top: -7px;
  background: var(--color-blk);
  width: 40px;
  height: 1px;
}
.open-btn span:nth-of-type(3) {
  top: 25px;
}
.open-btn.active span:nth-of-type(1), .open-btn.active span:nth-of-type(3) {
  opacity: 1;
  left: 20px;
}
.open-btn.active span:nth-of-type(1) {
  top: 28px;
  transform: translateY(6px) rotate(-45deg);
  filter: brightness(0%) contrast(300%) hue-rotate(360deg) invert(100%);
}
.open-btn.active span:nth-of-type(2) {
  opacity: 0;
}
.open-btn.active span:nth-of-type(3) {
  top: 40px;
  transform: translateY(-6px) rotate(45deg);
  filter: brightness(0%) contrast(300%) hue-rotate(360deg) invert(100%);
}

/************************************************
 * ページ上ボタン
 ************************************************/
.page_top_btn {
  bottom: 9px;
  right: 9px;
  background: #fff;
  box-shadow: none;
  background-image: var(--ver_page_top_button_url);
  border-radius: 5px;
  background-position: left 1px bottom 1px;
  height: 60px;
  width: 60px;
  border-radius: 0;
  border-radius: 50%;
}

#page_top {
  z-index: 3;
  color: transparent;
  width: 50px;
  height: 50px;
  right: 15px;
  bottom: 15px;
}

#page_top:hover {
  opacity: 0.9;
}

/* トップアップボタン */
.scrolled .page_top_btn {
  background: var(--ver_page_top_button_url), linear-gradient(-45deg, var(--color-accent), var(--color-main));
  background-position-y: -3px, 0, 0;
  border: none;
}

/************************************************
 * モバイル
 ************************************************/
.vk-mobile-nav {
  display: none;
  padding-top: 80px;
}
@media screen and (max-width: 1280px) {
  .vk-mobile-nav {
    display: block;
    max-height: 70Vh;
    border-bottom: none;
  }
}

/**********************
 * 見出し
 **********************/
h2 {
  text-align: center;
  margin: 0 0 15px 0;
  line-height: 1.5;
  color: var(--color-main);
  font-weight: bold;
}
h2 span {
  font-size: 3.5rem;
  text-transform: none;
  display: block;
  font-style: normal;
  text-transform: var(--text-tra);
}
.page h2, .blog h2, .archive h2, .single h2 {
  font-size: 1.5rem;
  background: transparent;
  text-align: center;
  padding-left: 0;
  padding-top: 0;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--color-main);
  color: var(--color-blk);
}
@media screen and (max-width: 430px) {
  .page h2, .blog h2, .archive h2, .single h2 {
    padding-left: 0;
  }
}
.page h2 span, .blog h2 span, .archive h2 span, .single h2 span {
  color: var(--color-accent);
  border-bottom: 2px solid var(--color-main);
  line-height: 2;
}
h2 .sub-e {
  position: relative;
  font-size: 4rem;
  text-transform: none;
  display: block;
  font-family: var(--font-eng);
  font-style: normal;
  /* color: var(--color-main); */
  line-height: 1;
  display: inline-block;
  padding-top: 5px;
  padding-bottom: 14px;
  margin-bottom: 10px;
  background: var(--color-gra);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-transform: var(--text-tra);
}
h2 .sub-e::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 3px;
  background: var(--color-accent);
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  h2 .sub-e {
    font-size: 2.6rem;
  }
}
h2 .sub-j {
  padding-left: 5px;
  color: var(--color-blk);
  font-size: 1.2rem;
  font-weight: bold;
}
.home h2, .page h2, #contact h2 {
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.home h2 .bgLRextend::before, .page h2 .bgLRextend::before, #contact h2 .bgLRextend::before {
  background: var(--color-gra);
}

h3 {
  font-size: 1.17em;
}
.page h3 {
  position: relative;
  font-weight: bold;
  padding-bottom: 6px;
  margin-top: 0;
}
.page h3::after {
  display: none;
}
.page h3::before {
  position: absolute;
  bottom: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: repeating-linear-gradient(90deg, var(--color-sub) 0%, var(--color-sub) 29.3%, rgba(150, 150, 150, 0.2) 29.3%, rgba(150, 150, 150, 0.2) 100%);
}

.page h4 {
  font-size: 1rem;
  padding-left: 40px;
  border-radius: 0%;
  background-color: var(--color-sub);
}

.home h2,
#contact h2 {
  position: relative;
  margin-bottom: 50px;
  background: none;
  padding-top: 10px;
  padding-bottom: 0.5em;
  padding-left: 0;
  text-align: center;
  color: var(--color-blk);
  border: none;
  line-height: 1.5;
  font-weight: bold;
  font-style: normal;
  font-weight: normal;
}
.home h2 span,
#contact h2 span {
  font-weight: normal;
  color: var(--color-accent);
  border: none;
}
.home h3,
#contact h3 {
  background: none;
  padding: 0;
}
.home .veu_socialSet,
#contact .veu_socialSet {
  display: none;
}
@media screen and (max-width: 768px) {
  .home h2,
  #contact h2 {
    font-size: 1.1rem;
  }
  .home h2 span,
  #contact h2 span {
    font-size: 2rem;
  }
}

/***********************
 * flexリスト
 **********************/
.flex-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 60px;
  margin-bottom: 60px;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}
.flex-list .flex-item {
  width: 350px;
  box-shadow: -10px 10px 45px -20px rgba(0, 0, 0, 0.7);
  backface-visibility: hidden;
}
.flex-list .flex-item img {
  height: 250px;
  width: 350px;
  -o-object-fit: cover;
     object-fit: cover;
}
.flex-list .flex-item figure .title {
  position: absolute;
  bottom: 0;
  left: 0;
  background: var(--color-gra);
  display: block;
  width: 100%;
  padding: 10px;
  color: #fff;
}
.flex-list .flex-item .cap h3 {
  font-weight: bold;
  font-size: 1.3rem;
  border: none;
  width: 300px;
}
.flex-list .flex-item .cap h3::before, .flex-list .flex-item .cap h3::after {
  display: none;
}
.flex-list .flex-item .cap span {
  border: 1px solid rgba(255, 255, 255, 0.7);
  display: inline-block;
  padding: 5px 10px;
  text-align: center;
  font-size: 0.8rem;
  white-space: nowrap;
}
.flex-list .flex-item:nth-child(1) {
  animation-delay: 0.4s;
}
.flex-list .flex-item:nth-child(2) {
  animation-delay: 0.6s;
}
.flex-list .flex-item:nth-child(3) {
  animation-delay: 0.8s;
}
.flex-list .flex-item:nth-child(4) {
  animation-delay: 1s;
}
.flex-list .flex-item:nth-child(5) {
  animation-delay: 1.2s;
}
.flex-list .flex-item:nth-child(6) {
  animation-delay: 1.4s;
}
@media screen and (max-width: 1450px) {
  .flex-list {
    width: 90%;
  }
}
@media screen and (max-width: 430px) {
  .flex-list {
    display: contents;
    width: 100%;
  }
  .flex-list .flex-item {
    width: auto;
    max-width: 350px;
    margin-bottom: 30px;
    margin-left: auto;
    margin-right: auto;
  }
  .flex-list .flex-item:last-child {
    margin-bottom: 30px !important;
  }
}

.bgDU,
.bgDU .mask {
  display: block;
  position: relative;
  /*背景色とテキストの基点となる位置を定義*/
  overflow: hidden;
  height: 250px;
  margin: 0;
}

.bgDU .mask::before {
  content: "";
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  opacity: 0;
  /*透過0*/
  transition: 0.3s ease-in-out;
  /*移り変わる速さを変更したい場合はこの数値を変更*/
  transform: translateY(100%);
  background: var(--color-gra);
  /*背景色*/
  width: 100%;
  height: 100%;
}
.bgDU:hover .mask::before {
  /*hoverした時の変化*/
  opacity: 1;
  /*透過なしに変化*/
  transform: translateY(0);
}
.bgDU .cap {
  /*画像の上のテキスト*/
  position: absolute;
  opacity: 0;
  /*透過0*/
  transition: 0.5s ease-in-out;
  /*移り変わる速さを変更したい場合はこの数値を変更*/
  z-index: 3;
  /*テキストを前面に出す*/
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /*テキストの位置中央指定*/
  color: #fff;
  /*テキストの色を変えたい場合はここを修正*/
  backface-visibility: hidden;
}
.bgDU:hover .cap {
  /*hoverした時の変化*/
  opacity: 1;
  /*透過なしに変化*/
}

/**********************
 * 画像左
 **********************/
.img-left {
  position: relative;
  width: auto;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  padding-top: 100px;
  padding-bottom: 100px;
  padding-left: 10vw;
  padding-right: 10vw;
  margin-bottom: 0;
  /* background: var(--color-sub3); */
}
.img-left .img-left-img {
  width: -moz-fit-content;
  width: fit-content;
  box-shadow: 10px 50px 55px -10px rgba(0, 0, 0, 0.7);
}
.img-left .img-left-img img {
  box-shadow: 20px 60px var(--color-sub4);
  aspect-ratio: var(--ratio-silver);
  -o-object-fit: cover;
     object-fit: cover;
}
.img-left .img-left-img-out {
  max-width: 508px;
  margin-right: 60px;
}
.img-left h2 {
  text-align: left;
  margin-left: 0;
}
.img-left h2 span {
  width: auto;
}
@media screen and (max-width: 768px) {
  .img-left h2 {
    margin-left: auto;
  }
}
.img-left .img-left-info {
  flex-basis: 60%;
}
.img-left .img-left-btn a {
  width: 240px;
}
@media screen and (max-width: 1280px) {
  .img-left .wp-block-columns .wp-block-columns {
    display: block;
  }
  .img-left .wp-block-columns .wp-block-columns .wp-block-column {
    margin-top: 20px;
  }
  .img-left .img-left-btn {
    text-align: right;
  }
  .img-left .img-left-btn a {
    font-size: 0.9rem;
  }
}
@media screen and (max-width: 768px) {
  .img-left {
    padding-top: 0;
    flex-direction: column-reverse;
  }
  .img-left .img-left-img-out {
    max-width: 508px;
    margin-right: 0;
  }
  .img-left h2 {
    text-align: center;
  }
  .img-left .img-left-info {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
    padding-left: 0;
  }
  .img-left .img-left-img {
    margin: 20px auto 0 auto;
  }
}
@media screen and (max-width: 430px) {
  .img-left .img-left-btn {
    text-align: center;
  }
}

/**********************
 * 画像右
 **********************/
.img-right {
  position: relative;
  width: auto;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  padding-top: 50px;
  padding-bottom: 100px;
  padding-left: 10vw;
  padding-right: 10vw;
  margin-bottom: 0;
}
.img-right .img-right-img-out {
  max-width: 508px;
}
.img-right h2 {
  text-align: left;
  margin-left: 0;
}
.img-right h2 span {
  width: auto;
}
@media screen and (max-width: 768px) {
  .img-right h2 {
    margin-left: auto;
  }
}
.img-right .img-right-img {
  width: -moz-fit-content;
  width: fit-content;
  box-shadow: -20px 60px var(--color-sub), -10px 20px 55px -5px rgba(0, 0, 0, 0.7);
}
.img-right .img-right-img img {
  aspect-ratio: var(--ratio-silver);
  -o-object-fit: cover;
     object-fit: cover;
}
.img-right .img-right-info {
  margin-top: 130px !important;
  margin-right: 60px !important;
}
@media screen and (max-width: 768px) {
  .img-right {
    padding-top: 0;
    padding-bottom: 0;
  }
  .img-right .img-right-info {
    margin-right: 0 !important;
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .img-right h2 {
    text-align: center;
  }
  .img-right figure.img-right-img {
    margin: 0 auto;
    margin-bottom: 100px !important;
  }
}
@media screen and (max-width: 430px) {
  .img-right .swell-block-button {
    text-align: center;
  }
}

/***********************
 * 括弧付き
 **********************/
.corner {
  position: relative;
}
.corner::before {
  content: "";
  position: absolute;
  top: -0.8rem;
  left: -1rem;
  width: 2rem;
  height: 2rem;
  border-top: var(--color-sub) 1px solid;
  border-left: var(--color-sub) 1px solid;
}
.corner::after {
  content: "";
  position: absolute;
  bottom: -0.8rem;
  right: -1rem;
  width: 2rem;
  height: 2rem;
  border-bottom: var(--color-accent) 1px solid;
  border-right: var(--color-accent) 1px solid;
}

/**********************
 * 横幅固定リスト
 **********************/
.fix-list {
  box-shadow: var(--shadow);
  margin-bottom: 90px;
}
.fix-list .img-left {
  padding: 0;
  margin: 0;
  gap: 0;
  max-height: 470px;
}
.fix-list .img-left h2 {
  max-width: 100%;
  margin: 0;
  padding-bottom: 20px;
}
.fix-list .img-left .img-left-info {
  margin: 0 !important;
  max-width: 555px;
  padding: 26px;
}
.fix-list .img-left .img-left-img {
  box-shadow: none;
  margin: 0;
}
.fix-list .img-left .img-left-img img {
  box-shadow: none;
}
@media screen and (max-width: 781px) {
  .fix-list .img-left {
    max-width: 100%;
    text-align: center;
    max-height: 100%;
  }
  .fix-list .img-left .img-left-info {
    max-width: 100%;
  }
  .fix-list .img-left figure.img-left-img {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 768px) {
  .fix-list .img-left figure.img-left-img {
    margin-bottom: 0 !important;
    margin-top: 20px;
  }
}
.fix-list .img-right {
  padding: 0;
  margin: 0;
  gap: 0;
  max-height: 470px;
}
.fix-list .img-right h2 {
  max-width: 100%;
  margin: 0;
  padding-bottom: 20px;
}
.fix-list .img-right .img-right-info {
  margin: 0 !important;
  max-width: 555px;
  padding: 26px;
}
.fix-list .img-right .img-right-img {
  box-shadow: none;
  margin: 0;
}
.fix-list .img-right .img-right-img img {
  box-shadow: none;
}
@media screen and (max-width: 781px) {
  .fix-list .img-right {
    max-width: 100%;
    text-align: center;
    max-height: 100%;
  }
  .fix-list .img-right .img-right-info {
    max-width: 100%;
  }
  .fix-list .img-right figure.img-right-img {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 768px) {
  .fix-list .img-right figure.img-right-img {
    margin-bottom: 0 !important;
    margin-top: 20px;
  }
}
.fix-list .img-right {
  background: var(--color-base);
}
@media screen and (max-width: 781px) {
  .fix-list .img-left {
    flex-direction: column-reverse;
  }
}

/**********************
 * スクロールアニメショーン
 **********************/
.scroll-anim {
  width: -moz-fit-content;
  width: fit-content;
}

/**********************
 * グループボタンリスト
 **********************/
.g-btn-list {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .g-btn-list {
    display: block;
    margin-top: 40px;
  }
  .g-btn-list .w-btn-o {
    margin-top: 20px;
  }
}

/***********************
 * サイド固定お問い合わせ
 **********************/
.fix-contact-btn {
  display: grid;
  transition: all 1s;
  position: fixed;
  z-index: 3;
  top: 150px;
  right: 0;
  color: #fff;
  padding: 20px;
  /* text-align: center; */
  font-size: 0.7rem;
  border-radius: 20px 0 0 20px;
  /* -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: inherit; */
  opacity: 0;
  animation-delay: 3.9s;
  writing-mode: vertical-rl;
  text-align: justify;
  text-justify: inter-ideograph;
  text-orientation: upright;
}
.fix-contact-btn .text {
  transform: rotate(0.05deg);
  height: -moz-fit-content;
  height: fit-content;
  background: var(--color-btn);
  padding: 15px 12px;
  border-radius: 23px;
  transition: all 0.5s;
  box-shadow: -3px 2px rgb(112, 112, 112);
  display: none;
  opacity: 0;
  color: #fff;
  letter-spacing: initial;
}
.scrolled .fix-contact-btn .text {
  box-shadow: -3px 2px var(--color-base), -10px 10px 45px -15px rgba(0, 0, 0, 0.7);
  display: block;
  opacity: 1;
}
.fix-contact-btn:hover {
  color: #fff;
  margin-top: -10px;
  text-decoration: none;
}
.fix-contact-btn:hover .text {
  background: var(--color-btn-h);
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .fix-contact-btn {
    top: 60px;
    animation-delay: 0s;
  }
}

/* 最新のsafari用 */
/* _::-webkit-full-page-media, _:future, :root .fix-contact-btn .text {
  padding-left: 2px;
} */
/* 古いsafari用 */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  ::i-block-chrome, .fix-contact-btn .text {
    padding-left: 2px;
  }
}
/**********************
 * お問い合わせ
 **********************/
#contact {
  position: relative;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 0;
  margin-bottom: 0;
  max-width: 100vw;
  padding-top: 60px;
  padding-bottom: 100px;
  margin-bottom: 0;
  padding-top: 40px;
  padding-bottom: 50px;
  background-attachment: fixed;
  color: #fff;
}
.not-home #contact {
  padding-top: 60px;
}
#contact h2 {
  position: relative;
  margin: 0 auto 50px auto;
  text-align: center;
}
#contact h2 span {
  color: #fff;
  border-bottom: none;
  font-weight: normal;
}
#contact h2 .sub-e {
  background: #fff;
  -webkit-background-clip: text;
}
#contact h2 .sub-j {
  color: #fff;
}
#contact h3 {
  text-align: center;
  background: transparent;
  color: #fff;
  font-weight: bold;
  font-family: var(--font-swap-sub);
}
.appear #contact h3 {
  font-family: var(--font-sub);
}
@media screen and (max-width: 460px) {
  #contact h3 .sp-br {
    display: block;
  }
}
#contact h2::after,
#contact h3::before {
  display: none;
}
#contact ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  list-style: none;
  padding-left: 0;
}
#contact ul li {
  padding: 0 0 20px 0;
}
#contact p {
  text-align: center;
  margin: 0 0 30px 0;
}
@media screen and (max-width: 540px) {
  #contact p .sp-br {
    display: block;
  }
}
.scrolled #contact, #contact.view {
  background: url("/wp-content/themes/lightning-child/img/contact_00.png") no-repeat center;
  background-size: cover;
}
@media screen and (max-width: 430px) {
  .scrolled #contact, #contact.view {
    background: url("/wp-content/themes/lightning-child/img/contact_sp_00.png") no-repeat center;
    background-size: cover;
  }
}

/* 最新のsafari用 */
_::-webkit-full-page-media, _:future, :root #contact {
  background-attachment: inherit;
}

/* 古いsafari用 */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  ::i-block-chrome, #contact {
    background-attachment: inherit;
  }
}
.contact-btn a.w-btn {
  display: inline-flex;
  background: #fff;
  border: 1px solid var(--color-main);
  padding: 8px 20px 1px 10px;
}
.contact-btn a.w-btn:hover {
  color: #fff;
  transform: scale(0.99, 0.99) translateY(2px);
  text-shadow: none;
}
@media screen and (max-width: 980px) {
  .contact-btn a.w-btn {
    padding: 8px 20px 6px 10px;
  }
}
.contact-btn i {
  width: 50px;
  height: 50px;
}
.contact-btn img {
  width: 40px;
  height: 10px;
  margin-left: 0;
  position: absolute;
  margin-left: -20px;
  margin-top: 30px;
}
.contact-btn img.line-icon {
  position: relative;
  width: 50px;
  height: 50px;
  margin: 0;
}
.contact-btn .exp-disp {
  margin-left: 30px;
  margin-top: 3px;
}
.contact-btn .main-disp {
  font-size: 16.5px;
  margin-left: 7px;
  font-weight: bold;
  text-shadow: var(--color-main);
}
.contact-btn .sub-disp {
  color: #fff;
  font-size: 11px;
  margin-left: 4px;
  margin-top: -5px;
  margin-bottom: -5px;
  text-shadow: none;
  text-shadow: var(--color-main);
}

.contact-img {
  max-width: 450px;
  -o-object-fit: cover;
     object-fit: cover;
  margin-left: 10px;
}
@media screen and (min-width: 1200px) {
  .contact-img {
    margin-left: 100px;
  }
}
@media screen and (max-width: 930px) {
  .contact-img {
    margin: 30px auto 20px auto;
  }
}

/**********************
 * サイト下
 **********************/
body.home .site-body-bottom {
  display: none;
}

/**********************
 * フッター
 **********************/
.site-footer,
.site-footer-copyright {
  display: none;
}

.main-footer {
  background: var(--color-gra);
  position: relative;
}
.main-footer .footer-link,
.main-footer .footer-sns {
  margin-bottom: 0;
  text-align: center;
  padding-left: 0;
}
.main-footer .footer-link {
  padding-top: 20px;
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
}
.main-footer .footer-link li {
  margin-top: 0;
  margin-bottom: 0;
  padding: 0 12px;
}
.main-footer .footer-link li a {
  color: #fff;
  text-decoration: none;
  text-transform: var(--text-tra);
  font-family: var(--font-eng);
}
.main-footer .footer-link li a:hover {
  color: var(--color-hovar);
}
@media screen and (max-width: 800px) {
  .main-footer .footer-link {
    display: block;
  }
  .main-footer .footer-link li {
    padding: 0;
  }
}
.main-footer .footer-sub {
  text-align: center;
  color: #fff;
  margin: 10px 0;
}
.main-footer .footer-sub a {
  color: #fff;
  text-decoration: none;
}
.main-footer .footer-sub a:hover {
  color: var(--color-hovar);
}
.main-footer .footer-sub img {
  width: auto;
  border-radius: 8px;
}
@media screen and (max-width: 600px) {
  .main-footer .footer-sub.add .sp-br {
    display: block;
  }
}
@media screen and (max-width: 500px) {
  .main-footer .footer-sub.tel .sp-br {
    display: block;
  }
}
.main-footer .logo {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}
.main-footer .logo img {
  width: 100%;
  height: auto;
  max-width: 200px;
  -o-object-fit: contain;
     object-fit: contain;
  filter: brightness(0%) contrast(300%) hue-rotate(360deg) invert(100%);
}
@media screen and (max-width: 430px) {
  .main-footer .logo img {
    width: auto;
    height: 40px;
  }
}

.footer-sns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.footer-sns li {
  padding: 0 5px;
  margin-bottom: 0;
  box-sizing: border-box;
  transition: all 0.3s;
}
.footer-sns li:hover {
  opacity: 0.9;
  transform: scale(0.99, 0.99) translateY(2px);
}
.footer-sns i.fab {
  color: #fff;
  margin-right: 0;
}
.footer-sns .icon,
.footer-sns .line-icon,
.footer-sns .insta-icon,
.footer-sns .hotp-icon {
  width: 42px;
}
.footer-sns.right {
  display: none;
  transition: all 1s;
}
.footer-sns.right li {
  background: transparent;
  height: 60px;
  width: 60px;
  padding-left: 8px;
  padding-top: 5px;
  padding-right: 0;
  border-radius: 50px;
  transition: all 1s;
}
.footer-sns.right li:hover {
  opacity: 0.9;
  background: transparent;
}
.footer-sns.right i.fab {
  color: var(--color-main);
  margin-right: 0;
  font-size: 40px;
  padding-top: 5px;
  padding-left: 3px;
  transition: all 1s;
}
.footer-sns.right i.fab:hover {
  color: var(--color-blk);
}
.scrolled .footer-sns.right {
  display: block;
  transition: all 1s;
  position: fixed;
  z-index: 2;
  bottom: 60px;
  right: 10px;
}
@media screen and (max-width: 768px) {
  .scrolled .footer-sns.right .tb-hidden {
    display: none;
  }
}

.copyright {
  color: #fff;
  text-align: center;
  font-size: 1rem;
  padding-bottom: 8px;
  padding-top: 4px;
}

.up-img {
  width: 10px;
  height: auto;
}

/**********************
 * 入力フォーム
 **********************/
input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=tel],
input[type=text],
input[type=url],
input[type=checkbox],
textarea,
select {
  border-radius: var(--radius) !important;
  border: 1px solid var(--color-main) !important;
  outline-color: var(--color-main) !important;
}

input[type=checkbox] {
  accent-color: var(--color-main) !important;
}
input[type=checkbox]::before {
  border: 1px solid var(--color-main) !important;
}

/* 元々のチェックボックス（非表示） */
input[type=checkbox] {
  display: none;
  /* チェックボックスの代わりを成すラベル */
  /* ラベルの左に表示させる正方形のボックス□ */
  /* チェックが入った時のレ点 */
}
input[type=checkbox] + label {
  display: none;
  cursor: pointer;
  display: inline-block;
  position: relative;
  padding-left: 25px;
  padding-right: 10px;
}
input[type=checkbox] + label::before {
  content: "";
  position: absolute;
  display: block;
  box-sizing: border-box;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  left: 0;
  top: 50%;
  border: 1px solid;
  border-color: var(--color-sub2); /* 枠の色変更 お好きな色を */
  background-color: #FFF; /* 背景の色変更 お好きな色を */
}
input[type=checkbox]:checked + label::after {
  content: "";
  position: absolute;
  display: block;
  box-sizing: border-box;
  width: 18px;
  height: 9px;
  margin-top: -9px;
  top: 50%;
  left: 3px;
  transform: rotate(-45deg);
  border-bottom: 3px solid;
  border-left: 3px solid;
  border-color: var(--color-main); /* チェックの色変更 お好きな色を */
}

/**********************
 * 画像スライダー
 **********************/
/*矢印の設定*/
/*戻る、次へ矢印の位置*/
.slick-prev,
.slick-next {
  position: absolute; /*絶対配置にする*/
  top: 42%;
  cursor: pointer; /*マウスカーソルを指マークに*/
  outline: none; /*クリックをしたら出てくる枠線を消す*/
  border-top: 2px solid var(--color-main); /*矢印の色*/
  border-right: 2px solid var(--color-main); /*矢印の色*/
  height: 15px;
  width: 15px;
}

.slick-prev {
  /*戻る矢印の位置と形状*/
  left: -1.5%;
  transform: rotate(-135deg);
}

.slick-next {
  /*次へ矢印の位置と形状*/
  right: -1.5%;
  transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/
.post_content ul.slick-dots {
  text-align: center;
  margin: 20px 0 0 0;
  padding-left: 0;
}
.post_content ul.slick-dots li {
  display: inline-block;
  margin: 0 5px;
}
.post_content ul.slick-dots button {
  color: transparent;
  outline: none;
  width: 8px; /* ドットボタンのサイズ */
  height: 18px; /* ドットボタンのサイズ */
  display: block;
  border-radius: 50%;
  background: #ccc; /* ドットボタンの色 */
}
.post_content ul.slick-dots .slick-active button {
  background: var(--color-accent); /* ドットボタンの現在地表示の色 */
}

/************************************************
 * 各ファイルの参照
 ************************************************/
/************************************************
 * トップ
 ************************************************/
/*==================================================*
 * スプラッシュ
 *==================================================*/
#splash {
  position: fixed;
  width: 100%;
  height: var(--height-main);
  z-index: var(--z-front);
  background: var(--color-gra);
  text-align: center;
}
#splash.first {
  background: var(--color-gra);
}
#splash #splash-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
#splash #splash-logo img,
#splash #splash-logo canvas {
  width: 50px;
}

/*==================================================*
 * 画面遷移アニメーション
 *==================================================*/
.splashbg {
  display: none;
  transform: scaleY(0);
  border-color: var(--color-gra);
}
.appear .splashbg {
  position: fixed;
  z-index: var(--z-front);
  width: 100%;
  height: var(--height-main);
  top: 0;
  left: 0;
  animation-name: PageAnime;
  animation-duration: 1.2s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
.appear .splashbg.first {
  display: block;
  background: var(--color-gra);
}

@keyframes PageAnime {
  0% {
    transform-origin: bottom;
    transform: scaleY(0);
  }
  50% {
    transform-origin: bottom;
    transform: scaleY(1);
  }
  50.001% {
    transform-origin: top;
  }
  100% {
    transform-origin: top;
    transform: scaleY(0);
  }
}
@keyframes backBoxAnime {
  99.9% {
    /* アニメーション終了ぎりぎりまで */
    z-index: 2; /* 最前面に */
    border-width: 0px; /* 開始はボーダーの太さは0 */
  }
  100% {
    z-index: -1; /* 最背面に */
    border-width: 0px; /* 終了はボーダーの太さは0 */
  }
}
/*==================================================*
 * SVGロゴ
 *==================================================*/
#splash #splash-logo svg {
  width: 500px;
  /*アニメーション前のパスの指定*/
  /*アニメーション後に.doneというクラス名が付与された時のパスの指定*/
}
#splash #splash-logo svg path {
  fill: none; /*塗りがない状態*/
  fill-opacity: 0; /*最初は透過0で見えない状態*/
  stroke: #fff; /*線の色*/
  transition: fill-opacity 0.5s; /*カラーがつく際のアニメーション0.5秒で変化*/
}
#splash #splash-logo svg.done path {
  fill: #fff; /*塗りの色*/
  fill-opacity: 1; /*透過1で見える状態*/
  stroke: none; /*線の色なし*/
}
@media screen and (max-width: 600px) {
  #splash #splash-logo svg {
    width: 70%;
  }
}

/************************************************
 * FSV
 ************************************************/
/************************************************
 * FSVのヘッダー
 ************************************************/
#main-header {
  position: relative;
  width: auto;
  height: var(--height-main);
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 0;
  margin-bottom: 0;
  max-width: 100vw;
}
#main-header .header-area {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
#main-header .header-area h2 {
  margin: 0;
}
#main-header .header-area h2 .logo {
  position: relative;
  top: 0;
  width: 500px;
  margin: 0 auto;
}
@media screen and (max-width: 600px) {
  #main-header .header-area h2 .logo {
    width: 80%;
  }
}
#main-header .header-area p {
  font-size: 2rem;
  letter-spacing: 0.4em;
}
#main-header .header-cat {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: -moz-max-content;
  width: max-content;
  font-family: var(--font-cat);
  text-align: center;
}
#main-header .header-cat .main {
  font-size: 3.8rem;
  color: var(--color-bw);
  font-family: var(--font-cat);
  font-feature-settings: "palt";
}
#main-header .header-cat .main .kana {
  font-size: 3.1rem;
}
#main-header .header-cat .main .second {
  margin-top: -20px;
  margin-bottom: 20px;
}
#main-header .header-cat .main .wo {
  margin-left: -10px;
}
#main-header .header-cat .main .ku {
  margin-right: -8px;
}
@media screen and (max-width: 650px) {
  #main-header .header-cat .main .ku {
    margin-right: -1px;
  }
}
@media screen and (max-width: 1200px) {
  #main-header .header-cat .main {
    font-size: 2.6rem;
  }
  #main-header .header-cat .main .kana {
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 1000px) {
  #main-header .header-cat .main {
    font-size: 1.7rem;
  }
  #main-header .header-cat .main .kana {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 650px) {
  #main-header .header-cat .main {
    font-feature-settings: "palt";
  }
}
#main-header .header-cat .sub {
  font-size: 1.5rem;
  color: var(--color-bw);
  text-align: center;
  opacity: 0;
  margin-top: 0;
  animation-delay: 4s;
  font-family: var(--font-cat2);
  font-weight: bold;
}
@media screen and (max-width: 1200px) {
  #main-header .header-cat .sub {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 1000px) {
  #main-header .header-cat .sub {
    margin-top: 0;
  }
}
@media screen and (max-width: 900px) {
  #main-header .header-cat .sub .tb-br {
    display: block;
  }
}
#main-header .header-cat .contact-btn {
  font-family: var(--font-cat2);
}
#main-header .header-cat #cat-img {
  display: none;
}
#main-header .header-cat #cat-img img {
  margin-left: 2%;
  margin-top: -110px;
  max-width: 360px;
}
#main-header .header-cat.left {
  left: 10%;
  transform: translate(-10%, -50%);
}
#main-header .header-cat.left .header-cat {
  text-align: left;
}
#main-header .header-cat.left .main, #main-header .header-cat.left .sub {
  text-align: left;
}
@media screen and (max-width: 900px) {
  #main-header .header-cat.left {
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #main-header .header-cat.left .main, #main-header .header-cat.left .sub {
    text-align: center;
    line-height: 1.6;
  }
  #main-header .header-cat.left #cat-img {
    display: block;
    width: 100%;
    height: 260px;
    overflow: hidden;
  }
}
@media screen and (max-width: 800px) {
  #main-header .header-cat {
    width: 100%;
  }
  #main-header .header-cat .main {
    font-size: 1.7rem;
    text-align: center;
    line-height: 1.5;
    margin-bottom: 10px;
  }
  #main-header .header-cat .main .kana {
    font-size: 1.7rem;
  }
  #main-header .header-cat .sub {
    font-size: 1rem;
    text-align: center;
  }
  #main-header .header-cat.left {
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (max-width: 430px) {
  #main-header .header-cat .sub {
    animation-delay: 3s;
  }
}

/************************************************
 * FSVのスライダー
 ************************************************/
#top-slider {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100vw;
  height: 100%;
  overflow: hidden;
}
#top-slider .slick-track {
  height: var(--height-main);
}
#top-slider .top-slide-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#top-slider .add-animation {
  animation: zoomIn 10s linear 0s normal both;
}
#top-slider .slick-list::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100vw;
  height: 100%;
  background: linear-gradient(-40deg, rgba(37, 37, 41, 0.7), rgba(58, 60, 82, 0.2));
}
#top-slider .slide {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100vw;
  height: 100%;
  overflow: hidden;
}
@media screen and (max-width: 430px) {
  #top-slider {
    display: none;
  }
  #top-slider .slide {
    background: none;
  }
}

@keyframes zoomIn {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.5);
  }
}
/************************************************
 * FSVの動画
 ************************************************/
#top-video {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100vw;
  height: 100%;
  overflow: hidden;
}
#top-video #video-area {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100vw;
  height: 100%;
  height: var(--height-main);
  overflow: hidden;
}
#top-video #video-area::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100vw;
  height: 100%;
  background: linear-gradient(-40deg, rgba(37, 37, 41, 0.7), rgba(58, 58, 82, 0.2));
}
#top-video .video {
  /*天地中央配置*/
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /*縦横幅指定*/
  width: 177.77777778vh; /* 16:9の幅 → 16 ÷  9 ＝ 177.77% */
  height: 56.25vw; /* 16:9の幅 →  9 ÷ 16 ＝  56.25% */
  min-height: 100%;
  min-width: 100%;
}
#top-video .sp-video {
  display: none;
}
@media screen and (max-width: 430px) {
  #top-video .pc-video {
    display: none;
  }
  #top-video .sp-video {
    display: block;
  }
}

/************************************************
 * FSVの背景
 ************************************************/
#particles-js,
#particles-js2 {
  position: fixed; /*描画固定*/
  width: 100%;
  height: 100%;
  opacity: 0.6;
}

#particles-js2 {
  opacity: 0.5;
}

#particles-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

/************************************************
 * FSVのPC背景
 ************************************************/
#pc-top {
  position: relative;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100vw;
  height: 100%;
  background: url("/wp-content/themes/lightning-child/img/main_b_01_00.jpg") no-repeat center;
  background-size: cover;
}
#pc-top img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 70%;
  width: auto;
  position: absolute;
  right: 100px;
  top: 20%;
}
@media screen and (max-width: 1400px) {
  #pc-top img {
    height: 50%;
    top: 40%;
  }
}
@media screen and (max-width: 1000px) {
  #pc-top img {
    right: 20px;
  }
}
@media screen and (max-width: 900px) {
  #pc-top img {
    display: none;
  }
}

/************************************************
 * FSVのSP背景
 ************************************************/
#sp-top {
  display: none;
}
@media screen and (max-width: 430px) {
  #sp-top {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100vw;
    height: 100%;
    overflow: hidden;
  }
  #sp-top::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100vw;
    height: 100%;
    background: linear-gradient(-40deg, rgba(37, 37, 41, 0.7), rgba(58, 60, 82, 0.2));
  }
  #sp-top img {
    -o-object-fit: cover;
       object-fit: cover;
    height: 100%;
    width: auto;
    position: absolute;
  }
}

/************************************************
 * FSVのアイコン
 ************************************************/
.top-batch {
  display: flex;
  margin-top: 30px;
  /* opacity: 0; */
  gap: 10px;
}
.top-batch img {
  width: 130px;
  height: auto;
  opacity: 0;
}
.top-batch img.bt1 {
  margin-left: -10px;
  animation-delay: 5s;
}
.top-batch img.bt2 {
  animation-delay: 5.5s;
}
.top-batch img.bt3 {
  animation-delay: 6s;
}
.top-batch img.btr1 {
  width: 180px;
  height: auto;
  opacity: 1;
}
@media screen and (max-width: 900px) {
  .top-batch img {
    width: 100px;
  }
}
.top-batch.right {
  position: absolute;
  bottom: 140px;
  right: 170px;
  animation-delay: 7s;
  opacity: 0;
  margin-top: 0;
}
@media screen and (max-width: 1000px) {
  .top-batch.right {
    bottom: 80px;
    right: 20px;
  }
  .top-batch.right .btr1 {
    width: 130px;
  }
}
@media screen and (max-width: 900px) {
  .top-batch.right {
    display: none;
  }
}
@media screen and (max-width: 1000px) {
  .top-batch {
    margin-top: 10px;
  }
}
@media screen and (max-width: 900px) {
  .top-batch {
    justify-content: center;
  }
  .top-batch img {
    width: 100px;
  }
  .top-batch img.bt1 {
    margin-left: 0;
  }
  .top-batch img.bt1, .top-batch img.bt2, .top-batch img.bt3 {
    animation-delay: 3s;
  }
}
@media screen and (max-height: 450px) {
  .top-batch {
    display: none;
  }
}

/************************************************
 * FSVの問い合わせボタン
 ************************************************/
.contact-btn .top-contact,
.contact-btn .bottom-contact {
  position: relative;
  display: inline-flex;
  background: var(--color-btn);
  color: #fff;
  width: 320px;
  margin-top: 35px;
  padding-top: 20px;
  padding-bottom: 10px;
  padding-right: 0;
  padding-left: 20px;
  transition: all 0.5s;
  border-radius: var(--radius-max);
}
.contact-btn .top-contact:hover,
.contact-btn .bottom-contact:hover {
  background: var(--color-btn-h);
}
.contact-btn a {
  width: 295px;
  padding-top: 25px;
  box-shadow: var(--shadow);
}
.contact-btn a:hover {
  color: #fff;
  box-shadow: none;
  transform: scale(0.99, 0.99) translateY(2px);
}
.contact-btn .top-contact {
  opacity: 0;
  animation-delay: 5s;
}
@media screen and (max-width: 430px) {
  .contact-btn .top-contact {
    animation-delay: 4s;
  }
}
.contact-btn i {
  background: url("/wp-content/themes/lightning-child/img/ic_02.png") no-repeat center;
  background-size: cover;
  margin-left: -2px;
  margin-top: -6px;
}

/************************************************
 * FSVのスクロールダウン
 ************************************************/
.scrolldown {
  position: absolute;
  bottom: 10px;
  left: 50%;
  /* 丸の描写 */
  /* 線の描写 */
}
.scrolldown span {
  /*描画位置*/
  position: absolute;
  right: -30px;
  bottom: 13px;
  /*テキストの形状*/
  color: var(--color-bw);
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  /*縦書き設定*/
  writing-mode: vertical-rl;
}
.scrolldown:before {
  content: "";
  /*描画位置*/
  position: absolute;
  bottom: 0;
  left: -4px;
  /*丸の形状*/
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid var(--color-bw);
  /*丸の動き1.6秒かけて透過し、永遠にループ*/
  animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
}
.scrolldown:after {
  content: "";
  /*描画位置*/
  position: absolute;
  bottom: 0;
  left: 0;
  /*線の形状*/
  width: 1px;
  height: 50px;
  background: var(--color-bw);
}
@media screen and (max-height: 650px) {
  .scrolldown {
    display: none;
  }
}

/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove {
  0% {
    bottom: 45px;
  }
  100% {
    bottom: -5px;
  }
}
/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
/********************************************
 * 私たちについて
 ********************************************/
#intro {
  position: relative;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 0;
  margin-bottom: 0;
  max-width: 100vw;
  padding-top: 60px;
  padding-bottom: 100px;
  background: none;
}
#intro h2 span {
  color: var(--color-accent);
}
#intro .sub-title {
  text-align: center;
  margin-bottom: 10px;
  color: var(--color-main);
  font-size: 1.7rem;
  font-weight: bold;
  margin-bottom: 50px;
  font-family: var(--font-swap-sub);
}
.appear #intro .sub-title {
  font-family: var(--font-sub);
}
@media screen and (max-width: 460px) {
  #intro .sub-title .sp-br {
    display: block;
  }
}
#intro .intro-detail {
  justify-content: space-between;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 20px 8vw 0 8vw;
}
#intro .exp-info {
  position: relative;
}
#intro .exp-info p {
  line-height: 2.2;
  font-weight: bold;
}
#intro .intro-img {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0;
  box-shadow: none;
  aspect-ratio: initial;
}
#intro .intro-img figure {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  box-shadow: none;
  margin: 0;
  line-height: 0;
}
#intro .intro-img img {
  max-width: 400px;
  box-shadow: none;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: initial;
}
#intro .intro-info {
  position: relative;
  text-align: left;
  max-width: 750px;
  padding-left: 0;
  margin-top: 20px;
}
#intro .intro-text {
  position: relative;
}
#intro .intro-text::before {
  position: absolute;
  content: "";
  background: url("/wp-content/themes/lightning-child/img/logo_lead_00_01.png") no-repeat;
  background-size: contain;
  width: 350px;
  height: 350px;
  opacity: 0.1;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 1280px) {
  #intro .sub-title {
    font-size: 1.5rem;
  }
  #intro .intro-detail {
    padding-left: 7vw;
    padding-right: 7vw;
  }
  #intro .intro-img {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #intro .sub-title {
    margin-top: 30px;
    margin-bottom: 20px;
  }
  #intro .intro-img {
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
  #intro .sub-title,
  #intro .exp-info {
    text-align: center;
  }
  #intro .intro-info::before {
    left: 50%;
  }
}
@media screen and (max-width: 430px) {
  #intro {
    margin-bottom: 60px;
  }
  #intro .intro-detail {
    padding-bottom: 0;
  }
}

/********************************************
 * サービス
 ********************************************/
#service {
  position: relative;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 0;
  margin-bottom: 0;
  max-width: 100vw;
  padding-top: 60px;
  padding-bottom: 100px;
  text-align: center;
  margin-bottom: 0;
  padding-top: 40px;
  padding-bottom: 130px;
}
#service::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--color-sub3);
  opacity: 0.2;
  box-shadow: 6px -6px 30px -6px rgba(0, 0, 0, 0.2);
}
#service h2 {
  padding-top: 60px;
}
#service h2 span {
  color: var(--color-accent);
}
@media screen and (max-width: 820px) {
  #service {
    padding: 64px 5%;
  }
}
#service .sub-title {
  text-align: center;
  margin-bottom: 60px;
  font-weight: bold;
  position: relative;
}
#service .service-btn {
  margin-top: 80px;
}
#service .service-btn a {
  padding: 16px 40px;
  font-weight: bold;
}
#service .service-btn img {
  width: 40px;
  height: 10px;
  margin-left: 0;
  position: absolute;
  margin-left: -20px;
  margin-top: 30px;
  text-align: center;
}
@media screen and (max-width: 820px) {
  #service .service-btn {
    margin-top: 40px;
  }
}
#service figure .title {
  color: var(--color-blk);
}
#service .flex-list {
  max-width: 1200px;
}
#service .flex-list.full {
  max-width: 100%;
}
#service .flex-item {
  background: var(--color-base);
  padding: 0;
  box-shadow: var(--shadow);
  border-radius: var(--radius);
  transition: all 0.3s;
}
#service .flex-item .title {
  font-size: 1rem;
  color: #fff;
}
#service .flex-item .tag-out {
  position: relative;
  min-height: 100px;
  margin-top: 10px;
  margin-left: auto;
  margin-right: auto;
  max-width: 90%;
}
#service .flex-item .tag {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto 0 auto;
  padding-left: 0;
  max-width: 100%;
  gap: 10px;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}
#service .flex-item .tag li {
  width: -moz-max-content;
  width: max-content;
  background: #fff;
  font-size: 0.7rem;
  border: 1px solid var(--color-sub);
  border-radius: 20px;
  padding: 1px 8px;
  margin: 0;
}
#service .flex-item .info {
  font-size: 0.8rem;
  padding: 20px;
  min-height: 95px;
}
#service .flex-item .info .num {
  font-size: 1rem;
  font-weight: bold;
}
#service .bgDU .cap h3 {
  font-weight: normal;
  font-size: 0.9rem;
  color: #fff;
}
#service .bgDU .cap span {
  color: #fff;
  border: 1px solid #fff;
}

.s2::before {
  position: absolute;
  content: "";
  top: 20%;
  left: -30%;
  width: 150%;
  height: 80%;
  background: var(--color-accent);
  transform: rotate(-5deg);
  opacity: 0.3;
}

.s3 {
  padding-bottom: 160px;
}

/********************************************
 * ご利用の流れ
 ********************************************/
.business {
  position: relative;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 0;
  margin-bottom: 0;
  max-width: 100vw;
  padding-top: 60px;
  padding-bottom: 100px;
  background: var(--color-sub2);
}
.business h2 {
  text-align: center;
  color: var(--color-blk);
  margin-bottom: 48px;
}
.business .flow-img {
  position: relative;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.business ul.flow {
  position: relative;
  max-width: 980px;
  margin: 60px auto 0 auto;
  padding: 0 0 0 105px;
}
.business ul.flow li {
  list-style-type: none;
}
.business ul.flow li dd {
  margin-left: 0;
  color: var(--color-blk);
  text-align: left;
  font-size: 0.9rem;
}
@media screen and (max-width: 430px) {
  .business ul.flow li dd {
    font-size: 0.8rem;
  }
}
.business ul.flow::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 90px;
  width: 15px;
  height: 100%;
  margin-left: -8px;
  background: #eee;
  box-shadow: 6px 6px 16px -6px rgba(18, 70, 90, 0.7);
}
@media screen and (max-width: 1000px) {
  .business ul.flow::before {
    left: 80px;
  }
  .business ul.flow::after {
    top: -230px;
    height: calc(100% + 460px);
  }
}
.business ul.flow > li {
  position: relative;
}
.business ul.flow > li:not(:last-child) {
  margin-bottom: 8vh;
}
.business ul.flow > li .icon {
  display: block;
  position: absolute;
  top: 0;
  left: -135px;
  background: var(--color-gra);
  font-size: 1.3rem;
  color: #fff;
  text-align: center;
  padding: 8px 6px 8px 10px;
  box-shadow: var(--shadow);
  border-radius: var(--radius);
  letter-spacing: 1px;
  min-width: 76px;
}
.business ul.flow > li .icon span {
  font-size: 2.6rem;
  display: block;
  line-height: 3rem;
}
.business ul.flow > li .icon::after {
  content: "";
  border-style: solid;
  border-width: 5px 0 5px 10px;
  border-color: transparent transparent transparent #0276A1;
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
}
@media screen and (max-width: 1000px) {
  .business ul.flow > li .icon {
    padding: 4px 2px 4px 5px;
    margin-left: 30px;
    min-width: 60px;
  }
}
.business ul.flow > li dl {
  padding-left: 70px;
  position: relative;
}
.business ul.flow > li dl::before, .business ul.flow > li dl::after {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
}
.business ul.flow > li dl::before {
  width: 7px;
  height: 7px;
  margin-top: -3px;
  background: #e1dede;
  border-radius: 50%;
  left: -4px;
}
.business ul.flow > li dl::after {
  width: 50px;
  border-bottom: 2px solid #e1dede;
  position: absolute;
  left: 5px;
}
.business ul.flow > li dl dt {
  font-size: 1.1rem;
  font-weight: bold;
  color: var(--color-blk);
  margin-bottom: 1vh;
  text-align: left;
  border-bottom: solid 2px var(--color-main);
}
.business ul.flow > li dl dt .top {
  font-size: 1.5rem;
  color: var(--color-sub);
}
.business ul.flow .flow-info {
  display: flex;
}
.business ul.flow .flow-info .flow-contents {
  background: #fff;
  box-shadow: 0 10px 45px -25px rgba(18, 81, 90, 0.7);
  padding: 20px;
  padding-top: 6px;
  width: 610px;
  border-radius: var(--radius);
}
.business ul.flow i {
  color: var(--color-accent);
  margin-top: 40px;
  margin-right: 16px;
  width: 160px;
}
@media screen and (max-width: 1000px) {
  .business ul.flow::before {
    left: 76px;
  }
  .business ul.flow .flow-info {
    display: block;
  }
  .business ul.flow .flow-info .flow-contents {
    width: auto;
    margin-top: 16px;
  }
  .business ul.flow i {
    margin-left: 40px;
    margin-right: 0;
    display: flex;
  }
  .business ul.flow > li dl {
    padding-left: 0;
  }
  .business ul.flow > li dl::before {
    left: -16px;
  }
  .business ul.flow > li dl::after {
    width: 30px;
    left: -5px;
  }
  .business ul.flow > li dl dt {
    font-size: 1.1rem;
  }
}
.business .flow-btn {
  margin-top: 100px;
  text-align: center;
}
.business .flow-btn a {
  padding: 16px 40px;
  font-weight: bold;
}
.business .flow-btn img {
  position: absolute;
  width: 40px;
  height: 10px;
  margin-left: -20px;
  margin-top: 30px;
  text-align: center;
}
.business .flow-title {
  font-weight: bold;
  margin-bottom: 5px;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
.business .flow-title .point {
  color: var(--color-accent);
}
@media screen and (max-width: 1000px) {
  .business {
    padding: 64px 5%;
  }
}

/********************************************
 * 写真スライダー
 ********************************************/
.works-slider {
  width: 94%;
  margin: 0 auto;
  max-width: 1300px;
  padding-left: 0;
}
.works-slider img {
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.works-slider img.main {
  aspect-ratio: 508/380;
}
.works-slider img.logo {
  aspect-ratio: 508/150;
}
.works-slider .slick-track {
  padding-top: 40px;
  padding-bottom: 40px;
}
.works-slider .slick-slide {
  margin: 0 20px;
  overflow: hidden;
  transition: all 0.3s;
}
.works-slider .slick-slide:hover {
  transform: scale(1.1, 1.1);
}
@media screen and (max-width: 1300px) {
  .works-slider {
    width: 80%;
  }
}
@media screen and (max-width: 480px) {
  .works-slider {
    padding-left: 5px;
    padding-right: 5px;
  }
}

.works .w-btn-o {
  margin-top: 30px;
}

/********************************************
 * お知らせ
 ********************************************/
.news {
  position: relative;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 0;
  margin-bottom: 0;
  max-width: 100vw;
  padding-top: 60px;
  padding-bottom: 100px;
  background: var(--color-gra);
  z-index: 1;
}
.news h2 {
  text-align: center;
}
.news h2 span {
  color: #fff;
  border-bottom: none;
  font-weight: normal;
}
.news h2 .sub-e {
  background: #fff;
  -webkit-background-clip: text;
}
.news h2 .sub-j {
  color: #fff;
}
.news h2 .bgLRextend::before {
  background: #fff;
}
.news .wp-block-ub-tabbed-content-tab-holder {
  display: none;
}
.news .wp-block-ub-tabbed-content-tabs-content {
  padding: 0;
  margin-top: -10px;
  border: none;
}
.news .wp-block-ub-tabbed-content-tabs-title,
.news .news-area {
  width: 70%;
  margin: 0 auto;
}
.news .wp-block-ub-tabbed-content-tab-title-wrap {
  padding-bottom: 20px !important;
  background-color: #fff !important;
  border: none;
}
.news .wp-block-ub-tabbed-content-tab-title-wrap.active {
  background-color: #fff !important;
  z-index: 1;
}
.news .wp-block-ub-tabbed-content-tab-title-wrap.active:hover {
  opacity: 1;
}
.news .wp-block-ub-tabbed-content-tab-title-wrap:hover {
  opacity: 0.8;
}
.news .news-area {
  background: #fff;
  padding: 40px !important;
  box-shadow: var(--shadow);
}
.news .list-news li {
  padding: 0.5rem 0;
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  font-weight: bold;
  transition: all 0.3s;
}
.news .list-news li .wp-block-latest-posts__post-date {
  margin-top: 1px;
  margin-right: 16px;
  min-width: 145px;
}
.news .list-news li a {
  font-weight: bold;
  transition: all 0.3s;
}
.news .list-news li a:hover {
  text-decoration: underline;
  color: var(--color-hovar);
}
.news .w-btn {
  background: var(--color-btn2);
}
.news .w-btn-o .bgcenterx:before {
  background: var(--color-btn2-h);
}
@media screen and (max-width: 768px) {
  .news .wp-block-ub-tabbed-content-tabs-title,
  .news .news-area {
    width: 80%;
  }
  .news .list-news li {
    flex-direction: column-reverse;
  }
}

/********************************************
 * 実績
 ********************************************/
.sub-img1 img {
  max-width: 400px;
  margin-left: 20%;
  margin-bottom: -100px;
  margin-top: -100px;
}

.works {
  position: relative;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 0;
  margin-bottom: 0;
  max-width: 100vw;
  padding-top: 60px;
  padding-bottom: 100px;
  background: var(--color-sub5);
}

.bra .logo {
  max-width: 400px;
  margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
  .wp-block-columns .wp-block-columns {
    margin-top: 80px;
  }
  .wp-block-columns .wp-block-columns .wp-block-column {
    margin-top: 0;
  }
  .wp-block-columns .wp-block-columns .wp-block-column > .w-btn-o {
    margin-top: 0;
  }
}
#b2::before {
  position: absolute;
  content: "";
  top: 10%;
  left: -30%;
  width: 150%;
  height: 80%;
  background: var(--color-accent);
  transform: rotate(-5deg);
  opacity: 0.1;
}

#b4::before {
  position: absolute;
  content: "";
  top: 20%;
  left: -30%;
  width: 150%;
  height: 110%;
  background: var(--color-accent);
  transform: rotate(5deg);
  opacity: 0.1;
}

#b6::before {
  position: absolute;
  content: "";
  top: 20%;
  left: -30%;
  width: 150%;
  height: 80%;
  background: var(--color-accent);
  transform: rotate(-5deg);
  opacity: 0.1;
}

#b8::before {
  position: absolute;
  content: "";
  top: 20%;
  left: -30%;
  width: 150%;
  height: 110%;
  background: var(--color-accent);
  transform: rotate(5deg);
  opacity: 0.1;
}

#b10::before {
  position: absolute;
  content: "";
  top: 20%;
  left: -30%;
  width: 150%;
  height: 80%;
  background: var(--color-accent);
  transform: rotate(-5deg);
  opacity: 0.1;
}

/********************************************
 * 店舗概要
 ********************************************/
/********************************************
 * お客様の声
 ********************************************/
.voice {
  position: relative;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 0;
  margin-bottom: 0;
  max-width: 100vw;
  padding-top: 60px;
  padding-bottom: 100px;
  z-index: 1;
}
.voice::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url("/wp-content/themes/lightning-child/img/voice_bg_01.jpg") no-repeat center;
  background-size: cover;
  background-attachment: fixed;
  opacity: 0.3;
  width: 100%;
  height: 100%;
}
.voice h2,
.voice .vk_balloon_icon_name {
  color: var(--color-blk);
}
.voice h2 {
  margin-top: 30px;
}
.voice .voice-info {
  max-width: 920px;
  margin: 40px auto;
}
.voice .vk_balloon_content {
  background: #fff;
  box-shadow: var(--shadow);
  font-size: 0.9rem;
  max-width: 100%;
  width: 100%;
}
.voice .vk_balloon-position-left.vk_balloon-type-speech .vk_balloon_content .vk_balloon_content_before:not(.has-text-color) {
  border-color: transparent #fff transparent transparent;
}
.voice .voice-btn {
  margin-top: 80px;
  text-align: center;
}
.voice .voice-btn a {
  padding: 16px 40px;
  font-weight: bold;
}
.voice .voice-btn img {
  width: 40px;
  height: 10px;
  margin-left: 0;
  position: absolute;
  margin-left: -20px;
  margin-top: 30px;
  text-align: center;
}
@media screen and (max-width: 920px) {
  .voice .voice-info {
    margin: 40px 10px;
  }
  .voice .vk_balloon_content_outer {
    margin-right: 10px;
  }
}

/********************************************
 * よくある質問
 ********************************************/
.sub-img2 img {
  position: relative;
  max-width: 350px;
  margin-right: 20%;
  margin-bottom: -100px;
  margin-top: -100px;
  margin-left: auto;
  z-index: 1;
}

.faq {
  position: relative;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 0;
  margin-bottom: 0;
  max-width: 100vw;
  padding-top: 60px;
  padding-bottom: 100px;
  text-align: center;
  padding-top: 100px;
  background: var(--color-sub2);
}
.faq h2 {
  margin-bottom: 60px;
  z-index: 2;
}
.faq h2 .sub-e {
  text-transform: uppercase;
}
.faq .wp-block-ub-content-toggle {
  max-width: 768px;
  text-align: left;
  border-bottom: none;
  margin-right: auto;
  margin-left: auto;
  padding-left: 20px;
  padding-right: 20px;
}
.faq .wp-block-ub-content-toggle-accordion.no-border {
  margin-bottom: 20px;
  box-shadow: -5px 10px 20px -17px rgba(18, 67, 90, 0.7);
  border-radius: var(--radius);
  overflow: hidden;
}
.faq .wp-block-ub-content-toggle-accordion-title-wrap {
  background: linear-gradient(90deg, rgba(221, 235, 242, 0.87), #dce5ee);
  border-color: rgba(215, 229, 241, 0.8705882353);
}
.faq .wp-block-ub-content-toggle-accordion-title-wrap:hover {
  opacity: 0.7;
}
.faq .wp-block-ub-content-toggle-accordion-state-indicator {
  color: var(--color-sub);
  height: 1px;
}
.faq .wp-block-ub-content-toggle-accordion-title {
  position: relative;
  padding-left: 46px;
  width: 80%;
}
.faq .wp-block-ub-content-toggle-accordion-title::before {
  content: "Q";
  position: absolute;
  top: 8px;
  left: 8px;
  background: var(--color-main);
  color: #fff;
  font-size: 1.5rem;
  padding: 1px 0 0 6px;
  width: 28px;
  height: 28px;
  font-family: var(--font-eng);
  border-radius: var(--radius-min);
}
.faq .wp-block-ub-content-toggle-accordion-content-wrap {
  position: relative;
  background: #fff;
  font-size: 0.9rem;
  padding-left: 46px;
}
.faq .wp-block-ub-content-toggle-accordion-content-wrap::before {
  content: "A";
  position: absolute;
  margin-left: -39px;
  font-size: 1.5rem;
  background: var(--color-sub);
  color: #fff;
  margin-top: -4px;
  padding: 1px 0 0 7px;
  width: 28px;
  height: 28px;
  line-height: 1.2;
  font-family: var(--font-eng);
  border-radius: var(--radius-min);
}
.faq .wp-block-ub-content-toggle .wp-block-ub-math-plus::after {
  background: var(--color-sub);
  width: 1px;
}

/**********************
 * 採用情報
 **********************/
#recruit {
  position: relative;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 0;
  margin-bottom: 0;
  max-width: 100vw;
  padding-top: 60px;
  padding-bottom: 100px;
  margin-bottom: 0;
  padding-top: 80px;
  padding-bottom: 100px;
  color: #fff;
}
.not-home #recruit {
  padding-top: 0;
}
#recruit h2 {
  position: relative;
  margin: 0 auto 50px auto;
  text-align: center;
}
#recruit h2 span {
  color: #fff;
  border-bottom: none;
  font-weight: normal;
}
#recruit h2 .sub-e {
  background: #fff;
  -webkit-background-clip: text;
}
#recruit h2 .sub-j {
  color: #fff;
}
#recruit h3 {
  text-align: center;
  background: transparent;
  color: #fff;
  font-weight: bold;
  font-family: var(--font-swap-sub);
}
.appear #recruit h3 {
  font-family: var(--font-sub);
}
@media screen and (max-width: 460px) {
  #recruit h3 .sp-br {
    display: block;
  }
}
#recruit h2::after,
#recruit h3::before {
  display: none;
}
#recruit p {
  text-align: center;
  margin: 0 0 30px 0;
}
@media screen and (max-width: 540px) {
  #recruit p .sp-br {
    display: block;
  }
}
.scrolled #recruit, #recruit.view {
  background: url("/wp-content/themes/lightning-child/img/recr_01.png") no-repeat center;
  background-size: cover;
}
@media screen and (max-width: 430px) {
  .scrolled #recruit, #recruit.view {
    background: url("/wp-content/themes/lightning-child/img/recr_sp_01.png") no-repeat center;
    background-size: cover;
  }
}

/************************************************
 * 各ファイルの参照
 ************************************************/
/*==================================================*
 * 個別ページ
 *==================================================*/
.page .page-header,
.blog .page-header,
.archive .page-header,
.single .page-header {
  position: relative;
  margin-top: 0;
  color: #fff;
  background: var(--color-gra);
  min-height: 12rem;
}

.not-home .site-body {
  background: #fff;
}

.breadcrumb,
.site-body {
  background: #fff;
}
.home .breadcrumb,
.home .site-body {
  background: transparent;
}

#commentform img,
.comment-author img,
.post img {
  width: auto;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

img.alignleft {
  float: left;
  margin: 0 20px 20px 0;
}

img.alignright {
  float: right;
  margin: 0 0 20px 20px;
}

.aligncenter {
  clear: both;
  display: block;
  margin: auto;
}

.site-body-bottom,
.page .veu_socialSet,
.single .veu_followSet {
  display: none;
}

table td,
table th {
  border: none;
}

.breadcrumb {
  display: none;
}

.page .page-header-title,
.page h1.page-header-title,
.blog .page-header-title,
.blog h1.page-header-title,
.archive .page-header-title,
.archive h1.page-header-title,
.single .page-header-title,
.single h1.page-header-title {
  font-size: 2.5rem;
  color: #fff;
  font-weight: normal;
  font-family: var(--font-eng);
}
@media screen and (max-width: 430px) {
  .page .page-header-title,
  .page h1.page-header-title,
  .blog .page-header-title,
  .blog h1.page-header-title,
  .archive .page-header-title,
  .archive h1.page-header-title,
  .single .page-header-title,
  .single h1.page-header-title {
    font-size: 1.3rem;
  }
}

/***********************
 * ブログ記事
 **********************/
.blog,
.archive {
  font-size: 0.9rem;
}

.vk_post_imgOuter_singleTermLabel {
  background: var(--color-main) !important;
  color: #fff !important;
}

.vk_post .vk_post_btn,
.vk_post .vk_post_btn:hover {
  color: #fff;
}
.vk_post .vk_post_btn:hover {
  opacity: 0.8;
}
.vk_post .vk_post_title a:hover {
  color: var(--color-hovar);
}
.vk_post.media {
  border-top: 1px solid var(--color-sub2) !important;
  border-bottom: none !important;
}
.vk_post .media-img {
  background-image: none !important;
  border: 1px solid var(--color-sub2) !important;
}
.vk_post .media-img img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  transition: all 0.3s;
}
.vk_post .media-img:hover img {
  transform: scale(1.1, 1.1);
}

.veu_socialSet .sb_facebook a,
.veu_socialSet .sb_twitter a,
.veu_socialSet .sb_hatena a,
.veu_socialSet .sb_line a,
.veu_socialSet .sb_pocket a,
.veu_socialSet .sb_copy .sb_icon_inner {
  background: var(--color-main);
  box-shadow: none;
  letter-spacing: initial;
}

.single .entry-meta-data-list dt {
  background: var(--color-main);
}
.single .breadcrumb {
  display: block;
}
.single .breadcrumb a {
  text-decoration: none;
}
.single .breadcrumb a:hover {
  color: var(--color-hovar);
}

.widget_link_list > ul li a:hover {
  color: var(--color-hovar);
}
.widget_link_list > div > ul li a, .widget_link_list.widget_link_list > ul li a {
  border-bottom: 1px solid var(--color-sub2) !important;
}

.btn-primary,
input[type=submit] {
  background-color: var(--color-main) !important;
  border-color: transparent !important;
}

input[type=submit] {
  color: #fff !important;
}

.entry-body {
  font-size: 1rem;
}

.entry-title {
  font-size: 1.5rem;
}

.entry-meta {
  display: none;
}

.vk_post_title_new {
  color: var(--color-main) !important;
  padding: 2px;
}

.card-intext .card-intext-inner .vk_post_body {
  position: relative;
  background: transparent !important;
}
.card-intext .card-intext-inner .vk_post_body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-gra) !important;
  opacity: 0.8;
  width: 100%;
  height: 100%;
  z-index: var(--z-back);
}

#comments .comments-title {
  display: none;
}
#comments a {
  text-decoration: none;
}
#comments a:hover {
  color: var(--color-hovar);
}
#comments ol.comment-list > .comment {
  border: none;
}
#comments .comment-author cite,
#comments .comment-author span {
  font-style: normal;
}
#comments .comment-author img {
  border: none;
}
#comments p {
  font-size: 0.9rem;
}

.archive-description {
  display: none;
}

ul.page-numbers li span.page-numbers.current {
  background: var(--color-main) !important;
}

/***********************
 * 目次
 **********************/
#toc_container {
  position: relative;
  display: none;
  width: 100% !important;
  border: none;
  border-radius: var(--radius);
}
@media screen and (max-width: 991px) {
  #toc_container {
    display: block;
  }
}
#toc_container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-gra);
  opacity: 0.1;
  width: 100%;
  height: 100%;
}

#toc_container a {
  color: var(--color-blk);
}
#toc_container a:hover {
  color: var(--color-accent);
  text-decoration: none;
}

.toc_widget {
  margin-top: 40px;
}

.toc_widget_list a {
  color: var(--color-blk);
}
.toc_widget_list a:hover {
  color: var(--color-accent);
  text-decoration: none;
}

#toc_container p.toc_title {
  text-align: left;
  padding-left: 18px;
}

.toc_widget_list.no_bullets {
  font-size: 0.9rem;
}

/**********************
 * ABOUT
 **********************/
.post-name-about .page-header {
  background: url("/wp-content/themes/lightning-child/img/about_00.png") no-repeat center;
  background-size: cover;
}
.post-name-about .veu_autoEyeCatchBox {
  display: none;
}
.post-name-about #intro .intro-text {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 10px;
}
.post-name-about #intro .exp-info p {
  line-height: 2;
  font-weight: normal;
}
.post-name-about .policy-text {
  line-height: 2;
}

.company-profile {
  margin: 0 20px;
}

.profile-list {
  position: relative;
  width: 100%;
  max-width: 900px;
  padding: 40px;
  margin: 0 auto 20px auto;
  list-style: none;
}
.profile-list li {
  border-bottom: 1px solid #ccc;
  margin: 0;
  padding: 0;
}
.profile-list li:last-child {
  border-bottom: none;
}
.profile-list dl {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  margin-top: 10px;
}
.profile-list dt {
  width: 30%;
  padding: 0 0 0 40px;
}
.profile-list dd {
  width: 65%;
  font-size: 0.9rem;
}
.profile-list .access {
  margin-top: 16px;
}
.profile-list a {
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .profile-list {
    padding: 20px 0;
  }
}
@media screen and (max-width: 590px) {
  .profile-list dt {
    padding: 0 0 0 10px;
  }
}
@media screen and (max-width: 430px) {
  .profile-list dt {
    font-size: 0.9rem;
  }
  .profile-list dd {
    font-size: 0.9rem;
  }
  .profile-list .access iframe {
    height: 250px;
  }
}

/**********************
 * Service
 **********************/
.post-name-service .page-header {
  background: url("/wp-content/themes/lightning-child/img/service_00.png") no-repeat center;
  background-size: cover;
}
.post-name-service #service {
  padding-bottom: 20px;
}
.post-name-service #service::before {
  display: none;
}
.post-name-service .img-left h2,
.post-name-service .img-left h2 span,
.post-name-service .img-right h2,
.post-name-service .img-right h2 span {
  text-align: left;
  border: none;
  margin-left: 0;
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .post-name-service .img-left h2,
  .post-name-service .img-left h2 span,
  .post-name-service .img-right h2,
  .post-name-service .img-right h2 span {
    margin-left: auto;
    margin-right: auto;
  }
}
.post-name-service .s1::before {
  position: absolute;
  content: "";
  top: 20%;
  left: -30%;
  width: 150%;
  height: 80%;
  background: var(--color-sub3);
  transform: rotate(-5deg);
  opacity: 0.3;
}
.post-name-service .s3::before {
  position: absolute;
  content: "";
  top: 20%;
  left: -30%;
  width: 150%;
  height: 80%;
  background: var(--color-sub3);
  transform: rotate(5deg);
  opacity: 0.3;
}
.post-name-service .s4 {
  margin-bottom: 80px;
}

/**********************
 * Brand
 **********************/
.post-name-brand .page-header {
  background: url("/wp-content/themes/lightning-child/img/bra_bg_01.png") no-repeat center;
  background-size: cover;
}
.post-name-brand .veu_autoEyeCatchBox {
  display: none;
}
.post-name-brand .site-body {
  padding-top: 0;
}

img.brand-img {
  aspect-ratio: 508/380;
  -o-object-fit: cover;
     object-fit: cover;
}

/**********************
 * Recruit
 **********************/
.post-name-recruit .page-header {
  background: url("/wp-content/themes/lightning-child/img/recr_01.png") no-repeat center;
  background-size: cover;
}
.post-name-recruit .site-body h2,
.post-name-recruit .site-body h2 span {
  border: none;
}
.post-name-recruit .site-body h3 {
  margin-top: 30px;
}
.post-name-recruit .site-body img {
  margin-bottom: 60px;
}
.post-name-recruit .site-body #v1 .bgLRextend::before {
  display: none;
}
.post-name-recruit .site-body #v1 span {
  opacity: 1;
}
.post-name-recruit .site-body .profile-list {
  margin-top: 0;
}

/**********************
 * ご利用の流れ
 **********************/
.business.page {
  background: transparent;
}
.business.page .flow {
  margin-top: 0;
}

/**********************
 * よくある質問
 **********************/
.post-name-faq {
  background: var(--color-base);
}
.post-name-faq .site-body, .post-name-faq.scrolled #top-header {
  background: var(--color-base);
}
.post-name-faq .veu_autoEyeCatchBox {
  display: none;
}

.faq.page-faq {
  padding-top: 0;
  background: transparent;
  margin-left: auto;
  margin-right: auto;
  padding-top: 10px;
}
.faq.page-faq h2 {
  max-width: 768px;
  margin: 0 auto;
  margin-top: 20px;
  padding-left: 0;
  text-align: left;
  padding-bottom: 0;
}
.faq.page-faq h2 span {
  font-size: 1.3rem;
  border-left: none;
  color: var(--color-blk);
  border: none;
}
.faq.page-faq .wp-block-ub-content-toggle {
  margin-bottom: 60px;
  padding-left: 0;
  padding-right: 0;
}
.faq.page-faq::before, .faq.page-faq::after {
  display: none;
}
@media screen and (max-width: 991px) {
  .faq.page-faq {
    padding-bottom: 0;
  }
}

.page h4.sub-section-title {
  padding-top: 7px;
  background-color: transparent;
  color: var(--color-blk);
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-accent);
  padding-left: 38px;
}

.page h4.sub-section-title:after {
  display: none;
}

/***********************
 * お問い合わせフォーム
 **********************/
.post-name-contact.scrolled #top-header,
.post-name-contact .breadcrumb,
.post-name-contact .site-body {
  background: var(--color-sub6);
}
.post-name-contact .page-header {
  background: url("/wp-content/themes/lightning-child/img/contact_00.png") no-repeat center;
  background-size: cover;
}
.post-name-contact .veu_autoEyeCatchBox {
  display: none;
}

.wpcf7-form input[type=text],
.wpcf7-form input[type=email],
.wpcf7-form input[type=date],
.wpcf7-form select,
.wpcf7-form textarea {
  width: 100%;
  margin: 10px 0 1.1rem 0;
  padding: 0.6em 0.8em;
}
.wpcf7-form .wpcf7-checkbox,
.wpcf7-form .res-type-info {
  margin: 10px 0 1.1rem 0;
}
.wpcf7-form input[type=checkbox] {
  display: inline-block;
}
.wpcf7-form input[type=submit] {
  position: absolute;
  right: calc(40% - 50px);
  left: calc(40% - 50px);
  border: none;
  font-weight: bold;
  border-radius: 30px;
  padding: 16px;
  background: var(--color-btn);
  margin-top: 20px;
  box-shadow: var(--shadow);
  transition: ease 0.2s;
}
.wpcf7-form input[type=submit]:hover {
  background: var(--color-btn-h);
  transform: scale(0.99, 0.99) translateY(2px);
  box-shadow: none;
}
.wpcf7-form input[type=submit]:disabled {
  background: var(--color-btn);
  box-shadow: var(--shadow);
  transform: none;
}
.wpcf7-form .confirm {
  font-size: 0.9rem;
}
.wpcf7-form .confirm a {
  color: var(--color-link) !important;
  font-weight: bold;
  -webkit-text-decoration: revert;
          text-decoration: revert;
}
.wpcf7-form .privacy {
  margin-left: 26px;
}
.wpcf7-form .req {
  background: #c50000;
  color: #fff;
  padding: 3px 5px 3px 7px;
  margin-right: 10px;
  font-size: 0.8rem;
  border-radius: var(--radius);
}
.wpcf7-form p {
  margin: 0;
}
.wpcf7-form .name {
  padding-bottom: 0;
}
.wpcf7-form .name-info {
  margin-bottom: 8px;
}
.wpcf7-form .name-info label .sub {
  width: 60px;
}
.wpcf7-form .wpcf7-file {
  background: #fff;
  padding: 10px;
  border: solid 1px var(--color-main);
}
.wpcf7-form .exp-info {
  margin-bottom: 30px;
  line-height: 1.2;
}
.wpcf7-form .name-info,
.wpcf7-form .tel-info,
.wpcf7-form .day-info,
.wpcf7-form .time-info,
.wpcf7-form .time2-info,
.wpcf7-form .type-info,
.wpcf7-form .kana-info,
.wpcf7-form .school-year-info,
.wpcf7-form .res-info {
  width: 50%;
}
@media screen and (max-width: 430px) {
  .wpcf7-form .name-info,
  .wpcf7-form .tel-info,
  .wpcf7-form .day-info,
  .wpcf7-form .time-info,
  .wpcf7-form .time2-info,
  .wpcf7-form .type-info,
  .wpcf7-form .kana-info,
  .wpcf7-form .school-year-info,
  .wpcf7-form .res-info {
    width: 100%;
  }
}
.wpcf7-form div[data-id=reserve] {
  margin-top: 16px;
}
.wpcf7-form .type-note {
  margin-top: 16px;
  font-size: 14px;
}
.wpcf7-form .type-note th,
.wpcf7-form .type-note td,
.wpcf7-form .type-note tr:last-child > td {
  border: none;
}
.wpcf7-form .type-note th {
  width: 126px;
  padding-right: 0;
}
.wpcf7-form .sex-note {
  margin-left: 16px;
  font-size: 14px;
}

.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output {
  background: #fff;
  color: var(--color-blk);
  font-weight: 700;
  margin-top: 100px;
  border: solid 1px var(--color-main);
  text-align: center;
  padding: 20px 10px;
}

.wp-block-contact-form-7-contact-form-selector,
.wpcf7-form,
.form-info {
  max-width: 768px;
  margin: auto;
}

.page p.form-info {
  margin-bottom: 30px;
  text-align: center;
  margin-top: 80px;
  margin-left: auto;
  margin-right: auto;
}

.form-info.recap {
  margin-top: 30px;
  font-size: 0.8rem;
}

@media screen and (max-width: 430px) {
  .wpcf7-form .name-info label .sub {
    line-height: 20px;
  }
  .form-info.recap {
    font-size: 0.7rem;
  }
}
.type-info .wpcf7-form-control-wrap .wpcf7-form-control {
  display: grid;
}

/***********************
 * プライバシーポリシー
 **********************/
.post-name-privacy .page-header {
  background: url("/wp-content/themes/lightning-child/img/privacy_00.png") no-repeat center;
  background-size: cover;
}
.post-name-privacy h2 {
  margin-left: 0;
}
@media screen and (max-width: 430px) {
  .post-name-privacy h2 {
    font-size: 1.1rem;
  }
}/*# sourceMappingURL=style.css.map */