@charset "utf-8";

:root,
::after,
::before {
  --body-font: "Kosugi Maru", sans-serif;
  --body-color: #333;
  --cont-color: #333;
  --cont-bg-color: #fff;
  --section_line-bg:
    90deg, rgba(56, 182, 255, 0.3), #ff6699, rgba(255, 185, 56, 0.3);
  /* パステルスカイブルー〜パステルピンク〜パステルイエロー */
  --section_line-filter: 0 0 6px rgba(56, 182, 255, 0.35);
  --m_ttl-font: "Titan One", sans-serif;
  --topcont-bg-color: transparent;
  --scroll-color: #ff80ab #e1f5fe;
  --topnav_hv-color: #e1f5fe;
  --news_border: 1px dotted #b3e5fc;
  --open-label-bg: #fff;
  --modal-bg-color: #000;
  --hamburger-color: #ff9716;
  --header_link-color: #ff9716;
  --header_bg-color: #fff8c7;
  --hamburger_menu-bgcolor: rgb(255 255 255 / 90%);
  --sys_txt-bg: #272727bb;
  --sys_txt-bd: 1px solid #3f3f3f;
  --links-color: #333;
  --links_wrap-bg: #55555573;
  --rec_u_name-bg: #e6f7ff;
  --rec_u_name-color: #38b6ff;
  --rec-cttl-color: #fff;
  --rec-cttl-bg-color: linear-gradient(135deg, #ff80ab 0%, #38b6ff 100%);
  --swiper-theme-color: #38b6ff;
  --swiper-navigation-size: 30px;
  --blog_cont-bg: #f8fbfe;
  --sc_cont-color: #333;
  --sc_cont-bd: #cbe9f8;
  --cast_gname-color: #fff;
  --cast_gname-bg: #0000007a;
  --sc_current-bg: #38b6ff;
  --sc_current-color: #fff;
}

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: rgb(255 255 255 / 50%);
}

section:first-of-type,
.vd_wrap + section {
  padding-top: 0;
}

#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 #bde4f7;
  background: #fff;
}

.m_ttl,
.sub_ttl {
  text-shadow:
    0 0 5px #fff,
    0 0 5px #fff,
    0 0 5px #fff,
    0 0 5px #fff,
    0 0 5px #fff;
}

.m_ttl span:nth-child(5n + 1) {
  color: #ffbe2a;
  /* 黄色 */
}

.m_ttl span:nth-child(5n + 2) {
  color: #84c334;
  /* 緑 */
}

.m_ttl span:nth-child(5n + 3) {
  color: #f36c9b;
  /* ピンク */
}

.m_ttl span:nth-child(5n + 4) {
  color: #a653a6;
  /* 紫 */
}

.m_ttl span:nth-child(5n + 5) {
  color: #38b6ff;
  /* 青 */
}

.bg_parallax {
  margin-bottom: 5rem;
}

#about .bg_parallax,
#recruit .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 12px rgba(255, 126, 180, 0.4);
  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 {
  position: absolute;
  inset: -20% 0 -20% 0;
  will-change: transform;
  transform: translate3d(0, 0, 0);
}

#about .pbg {
  background: url("/assets/img/pbg.png") right/cover no-repeat;
  opacity: 0.8;
}

#recruit .pbg {
  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;
}

#top_video {
  aspect-ratio: 1.8 / 1;
}

.vd_wrap {
  padding-top: 10vh;
  background: #fff;
}

.button a:after {
  border: 1px solid #bebebe;
}

@media (max-width: 767px) {
  #page_top {
    height: 8vh;
  }
}
