@charset "utf-8";

:root,
::after,
::before {
  --body-font: "Kosugi Maru", sans-serif;
  --body-color: #333;
  --cont-color: #333;
  --cont-bg-color: #ffffff;
  --section_line-bg:
    90deg, rgb(255 145 145 / 20%), #ff6565, rgba(180, 150, 90, 0.2);
  /* n */
  --section_line-filter: 0 0 4px rgba(217, 183, 108, 0.3);
  /* n */
  --m_ttl-font: "Kavoon", sans-serif;
  --topcont-bg-color: #ffaacf;
  --scroll-color: #ffbfbf #ffffff;
  --topnav_hv-color: #ddd;
  --news_border: 1px dotted #ccc;
  --open-label-bg: #fff;
  --modal-bg-color: #000;
  --hamburger-color: #333;
  /* n */
  --header_link-color: #3d3d3d;
  /* n */
  --header_bg-color: rgb(255 255 255 / 100%);
  /* n */
  --hamburger_menu-bgcolor: rgb(255 255 255 / 90%);
  /* n */
  --sys_txt-bg: #272727bb;
  --sys_txt-bd: 1px solid #3f3f3f;
  --links-color: #333;
  /* n */
  --links_wrap-bg: #55555573;
  --rec_u_name-bg: #ffe0e7;
  --rec_u_name-color: #ff7ebf;
  --rec-cttl-color: #fff;
  --rec-cttl-bg-color: linear-gradient(180deg, #ffc0cc, #ff5959);
  --swiper-theme-color: #ffffff;
  --swiper-navigation-size: 30px;
  --blog_cont-bg: #f2eedf;
  --cp_ttl_bg: #feffb9;
  /* n */
  --sc_cont-color: #333;
  /* n */
  --sc_cont-bd: #ddd;
  /* n */
  --cast_gname-color: #fff;
  /* n */
  --cast_gname-bg: #0000007a;
  /* n */
  --sc_current-bg: #e53a3a;
  /* n */
  --sc_current-color: #fff;
  /* n */
}

a,
button {
  cursor: revert;
  color: #333;
}

#container {
  background: none;
}

#container::before {
  content: "";
  display: block;
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: -1;
  width: 100%;
  height: 100vh;
  background-image: url(/assets/img/bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}

section {
  background: #ffffff87;
}

#page_top .hamburger>div {
  background: #333;
}

#page_top .menu>div {
  background: rgb(255 255 255 / 90%);
}

.sc_cont li {
  font-size: 0.85rem;
  width: 20%;
  max-width: 130px;
  margin-right: 0.4rem;
  text-align: center;
  border: 1px solid #d5d5d5;
  background: #fff;
}

.m_ttl,
.sub_ttl {
  color: #e5005d;
  -webkit-text-stroke: 2px #fff;
  paint-order: stroke fill;
  text-shadow:
    2px 2px 0 #fff,
    -2px 2px 0 #fff,
    2px -2px 0 #fff,
    -2px -2px 0 #fff;
}

.bg_parallax {
  margin-bottom: 5rem;
}

#about .bg_parallax,
#recruit .bg_parallax,
#contents>#system:first-child .bg_parallax {
  position: relative;
  overflow: hidden;
  min-height: clamp(250px, 28vw, 300px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-shadow: 0 0 10px #ffaaaa;
  text-shadow:
    0 0 5px #fff,
    0 0 5px #fff,
    0 0 5px #fff,
    0 0 5px #fff,
    0 0 5px #fff;
}

#about .pbg,
#recruit .pbg,
#contents>#system:first-child .pbg {
  position: absolute;
  inset: -20% 0 -20% 0;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  background: url("/assets/img/pbg.png") right/cover no-repeat;
  opacity: 0.8;
}

.footer {
  background: url("/assets/img/fbg.jpg") center;
  background-size: cover;
}

.copy,
footer,
footer a {
  color: #fff;
}

.vd_wrap {
  padding-top: 4rem;
}

.top_img_add {
  padding: 3rem 0;
}

@media (max-width: 767px) {
  .top_img_add {
    padding: 2rem 0;
  }
}