@charset "utf-8";
@import url("bootstrap-4.4.1.css");
@import url("reset.css");
@import url("sp.css");
@import url("common.css");
/*　common
====================================================================================================== */
body {
  font-family: 'PearlStd-L', 'vdl-admin', sans-serif;
  font-weight: 400;
  line-height: 1.5;
  font-style: normal;
  background: #faf7f0;
}
body::before {
  background: #faf7f0 url("../images/bg_common_pc.jpg") no-repeat center top;
  background-size: cover;
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -2;
  width: 100%;
  height: 100vh;
}
/*　./common
====================================================================================================== */
/*　nav
====================================================================================================== */
.g_nav {
  position: absolute;
  top: 103px;
  right: 50%;
  margin: 0 -565px 0 0;
  padding: 0;
  text-align: right;
  z-index: 99999;
  /*font-family: 'p22-muschamp-pro', sans-serif;*/
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.6rem;
  letter-spacing: 0.1rem;
  text-shadow: #fff 1px 1px 10px, #fff -1px 1px 10px, #fff 1px -1px 10px, #fff -1px -1px 10px;
}
.g_nav_ul li a {
  color: #7a6042;
  text-decoration: none;
  transition: all 1s;
}
.g_nav_ul li a:hover {
  color: #E9E1D8;
}
/*　./nav
====================================================================================================== */
/*　top_kv
====================================================================================================== */
.top_kv.pc {
  /*  position: relative;
  width: 100%;
  height: 1000px;
  background: #0d1117 url("../images/bg_kv.jpg") no-repeat center top;
  overflow: hidden;*/
  position: relative;
  width: 100%;
  min-width: 1200px;
  height: 1500px;
  overflow: hidden;
}
.kv_bg {
  margin: 0 0 0 -960px;
  position: absolute;
  left: 50%;
}
.kv_bg img {
  position: absolute;
  margin: auto;
  width: 1920px;
  height: 1500px;
  top: 0;
  right: 0;
  left: 0;
  overflow: hidden;
}
.kv_cm {
  position: relative;
  margin: auto;
  width: 1000px;
  height: 1000px;
}
.kv_logo {
  position: absolute;
  margin: auto;
  top: 20px;
  z-index: 99;
}
.kv_logo img {
  filter: drop-shadow(0 0px 10px rgba(255, 255, 255, 1.00)) drop-shadow(0 0px 20px rgba(255, 255, 255, 1.00));
}
.kv_c1 {
  position: absolute;
  width: 500px;
  height: 600px;
  top: 505px;
  left: 168px;
}
.kv_c2 {
  position: absolute;
  width: 300px;
  height: 300px;
  top: 402px;
  left: 78px;
}
.kv_c3 {
  position: absolute;
  width: 240px;
  height: 320px;
  top: 638px;
  left: 133px;
}
.kv_c4 {
  position: absolute;
  width: 300px;
  height: 300px;
  top: 162px;
  right: -8px;
}
.kv_c5 {
  position: absolute;
  width: 320px;
  height: 320px;
  top: 590px;
  right: -50px;
}
.kv_c6 {
  position: absolute;
  width: 160px;
  height: 180px;
  top: 224px;
  left: 94px;
}
.kv_bgcl {
  position: absolute;
  width: 160px;
  height: 120px;
  top: 751px;
  left: 124px;
}
.kv_bgcr {
  position: absolute;
  width: 200px;
  height: 140px;
  top: 720px;
  right: 210px;
}
.kv_cm div img {
  display: block;
}
.kv_c1 img {
  animation: ani_2 2s infinite linear alternate;
}
.kv_c2 img {
  animation: ani_buru .1s ease infinite alternate;
}
.kv_c3 img {
  animation: ani_2 1s infinite linear alternate;
}
.kv_c4 img {
  animation: ani_fuwa 2s infinite linear alternate;
}
.kv_c5 img {
  animation: ani_1 2s infinite linear alternate;
}
.kv_c6 img {
  animation: ani_2 2s infinite linear alternate;
}
.kv_bgcl img {
  animation: ani_2 1.8s infinite linear alternate;
}
.kv_bgcr img {
  animation: ani_2 1.6s infinite linear alternate;
}
@keyframes ani_1 {
  0% {
    transform: translateY(0)
  }
  33.33333% {
    transform: translateY(-2px) rotate(-2deg);
  }
  66.66667% {
    transform: translateY(0)
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes ani_2 {
  0% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes ani_swing {
  0% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(3deg);
  }
  50% {
    transform: rotate(0deg);
  }
  75% {
    transform: rotate(-3deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes ani_fuwa {
  0% {
    transform: translate(0, 0) rotate(-5deg);
  }
  50% {
    transform: translate(0, -5px) rotate(0deg);
  }
  100% {
    transform: translate(0, 0)rotate(5deg);
  }
}
@keyframes ani_buru {
  0% {
    transform: translate(0, 0) rotate(-3deg);
  }
  50% {
    transform: translate(0, -1px) rotate(0deg);
  }
  100% {
    transform: translate(0, 0)rotate(3deg);
  }
}
.kv_bg_e {
  position: absolute;
  margin: 0 0 0 -960px;
  width: 100%;
  height: auto;
  top: 0;
  left: 50%;
}
.kv_bg_e img {
  position: absolute;
  margin: auto;
  width: 1920px;
  height: 1080px;
  top: 0;
  right: 0;
  left: 0;
  overflow: hidden;
  mix-blend-mode: overlay;
}
.kv_l1 {
  animation: ani_light 3s infinite linear 0s alternate;
}
.kv_l2 {
  animation: ani_light 3s infinite linear 1s alternate;
}
.kv_l3 {
  animation: ani_light 3s infinite linear 2s alternate;
}
.kv_l4 {
  animation: ani_light 3s infinite linear 3s alternate;
}
@keyframes ani_light {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.8;
  }
}
.kv_c {
  position: absolute;
  transform: skewY(-5deg);
  top: 28px;
  right: 58px;
  color: #3F4356;
  font-family: 'PearlStd-L', 'vdl-admin', sans-serif;
  font-size: 2.4rem;
  font-weight: 400;
  font-style: oblique;
  line-height: 3rem;
  letter-spacing: 0.2rem;
  text-shadow: #fff 1px 1px 5px, #fff -1px 1px 5px, #fff 1px -1px 5px, #fff -1px -1px 5px;
}
span.fb {
  font-size: 2.8rem;
}
span.fb_e {
  font-size: 3rem;
}
@media only screen and (max-width: 1024px) {
  .sp_n {
    display: block !important;
  }
  .sp_s {
    display: none !important;
  }
}
@media only screen and (max-width: 600px) {
  .sp_n {
    display: none !important;
  }
  .sp_s {
    display: block !important;
  }
}
/*　./top_kv
====================================================================================================== */
/*　./top_push
====================================================================================================== */
.top_push {
  position: relative;
  width: 100%;
  height: auto;
  background: #faf7f0 url("../images/bg_common_pc.jpg") no-repeat center top;
  overflow: hidden;
}
.top_push_img {}
.top_push_img img {
  display: block;
  width: 100%;
  height: auto;
  transition: all 1s;
}
.top_push_img img:hover {
  opacity: 0.6;
  transform: scale(0.98);
}
/*　./top_push
====================================================================================================== */
/*　footer
====================================================================================================== */
.footer {
  position: relative;
  width: 100%;
  height: auto;
  bottom: 0;
  background: #050911;
  border-top: solid 1px #ffd765;
}
.f_logo {
  position: relative;
  margin: auto;
  width: 80%;
}
.f_logo img {
  display: block;
  width: 100%;
  max-width: 380px;
}
.footer_cc p {
  color: #f6faff;
  font-family: 'PearlStd-L', 'trajan-pro-3', sans-serif;
  font-size: 0.7rem;
}
/*　./footer
====================================================================================================== */
/*　animation
====================================================================================================== */
.f-in {
  transition: all 1s;
  transform: translate(0, 100px);
  opacity: 0;
}
.f-in.move {
  transform: translate(0, 0);
  opacity: 1;
}
.f-in_u {
  transition: all 1s;
  transform: translate(0, -100px);
  opacity: 0;
}
.f-in_u.move {
  transform: translate(0, 0);
  opacity: 1;
}
.f-in_l {
  transition: all 1s;
  transform: translate(-100px, 0);
  opacity: 0;
}
.f-in_l.move {
  transform: translate(0, 0);
  opacity: 1;
}
.f-in_r {
  transition: all 1s;
  transform: translate(100px, 0);
  opacity: 0;
}
.f-in_r.move {
  transform: translate(0, 0);
  opacity: 1;
}
.f-in_r_c {
  transition: all 1s;
  transform: skewY(-5deg) translate(100px, 0);
  opacity: 0;
}
.f-in_r_c.move {
  transform: skewY(-5deg) translate(0, 0);
  opacity: 1;
}
/*　./animation
====================================================================================================== */