@charset "UTF-8";
/* ====================================================
	使用フォント
==================================================== */
.Noto_Sans_JP {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.Montserrat {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.VDL-LogoG {
  font-family: "vdl-logog", sans-serif;
  font-weight: 400;
  font-style: normal;
}

/* ====================================================
	breakpoint
==================================================== */
html {
  overflow-y: scroll;
  font-size: 62.5%;
}
@media screen and (max-width: 500px) {
  html {
    font-size: 2vw;
  }
}

body {
  overflow: hidden;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #474747;
  margin: 0 auto;
}

.total_bk {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100dvh;
  background-image: linear-gradient(180deg, rgb(255, 46, 70), rgb(255, 160, 163) 48%, rgb(255, 255, 255));
}

.bk_title {
  position: fixed;
  bottom: 0;
  animation: loop1-left 18s linear infinite;
  width: 100%;
  z-index: 1;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
}

@keyframes loop1-left {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateY(0%);
  }
}
.side_block {
  overflow: hidden;
  position: fixed;
  top: 0;
  height: 100svh;
  width: calc((100% - 50rem) / 2);
  z-index: 2;
}

#left_block {
  left: 0;
}
@media screen and (max-width: 1439px) {
  #left_block {
    display: none;
  }
}

#right_block {
  right: 0;
}
@media screen and (max-width: 1439px) {
  #right_block {
    width: 50%;
  }
}
@media screen and (max-width: 1199px) {
  #right_block {
    display: none;
  }
}

.left_inner,
.right_inner {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto;
}
.left_inner .is-01,
.left_inner .is-02,
.left_inner .is-03,
.left_inner .is-04,
.left_inner .is-05,
.left_inner .is-06,
.right_inner .is-01,
.right_inner .is-02,
.right_inner .is-03,
.right_inner .is-04,
.right_inner .is-05,
.right_inner .is-06 {
  position: absolute;
}
.left_inner .is-01,
.left_inner .is-05,
.right_inner .is-01,
.right_inner .is-05 {
  animation: fuwafuwa_01 5s infinite;
}
.left_inner .is-02,
.left_inner .is-06,
.right_inner .is-02,
.right_inner .is-06 {
  animation: fuwafuwa_01 5s infinite;
}
.left_inner .is-03,
.left_inner .is-04,
.right_inner .is-03,
.right_inner .is-04 {
  animation: fuwafuwa_02 3s infinite;
}

@keyframes fuwafuwa_01 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(0.5rem);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes fuwafuwa_02 {
  0% {
    transform: translateY(0.5rem);
  }
  50% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0.5rem);
  }
}
.left_top,
.right_navi {
  padding-top: 11.5rem;
}

.left_inner {
  width: 16.3rem;
}
.left_inner .is-01 {
  width: 17rem;
  top: -0.5rem;
  left: -104%;
}
.left_inner .is-02 {
  width: 10.5rem;
  top: 14.5rem;
  left: -145.8%;
}
.left_inner .is-03 {
  width: 12.3rem;
  top: 9.5rem;
  left: -20%;
}
.left_inner .is-04 {
  width: 10rem;
  top: 3.6rem;
  left: 77%;
}
.left_inner .is-05 {
  width: 4.6rem;
  top: 3.3rem;
  left: 172%;
}
.left_inner .is-06 {
  width: 5.8rem;
  top: 14.5rem;
  left: 200%;
}

.right_inner {
  width: 31.5rem;
}
.right_inner .is-01 {
  width: 13rem;
  top: 3.5rem;
  left: -45.8%;
}
.right_inner .is-02 {
  width: 8rem;
  top: 3rem;
  left: 10%;
}
.right_inner .is-03 {
  width: 5.3rem;
  top: 14rem;
  left: 50.2%;
}
.right_inner .is-04 {
  width: 18rem;
  top: 2.4rem;
  left: 72%;
}
.right_inner .is-05 {
  width: 9.5rem;
  top: 16.5rem;
  right: -45%;
}

.right_list {
  gap: 3rem !important;
}

/* ----------------------------------------------------
	一般設定
---------------------------------------------------- */
header {
  height: 100dvh;
  position: fixed;
  z-index: 999;
}

#center_block {
  background-color: #fff;
}

#center_block,
.cmn_center_block {
  width: 100%;
  max-width: 50rem;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1439px) {
  #center_block,
  .cmn_center_block {
    margin-right: 50%;
    width: 50%;
  }
}
@media screen and (max-width: 1199px) {
  #center_block,
  .cmn_center_block {
    margin: 0 auto;
    width: 100%;
  }
}

.cmn_bk {
  padding: 9.7rem 0 9.6rem;
  display: block;
  width: 100%;
  background-size: 130%;
  background-repeat: repeat-y;
  background-size: 132.5%;
}

.cmn_inner {
  max-width: 45.5rem;
  margin: 0 auto;
}

img {
  width: 100%;
}

span {
  display: inline-block;
}

a {
  display: block;
  text-decoration: none;
}

button,
.is-hover05,
.is-hover06,
.is-hover08 {
  transition: opacity 0.4s ease;
  cursor: pointer;
}

.cmn_btn,
.navi_box a,
.footer_box a,
.right_box a,
.b-inner {
  transition: 0.3s;
}

.cmn_btn:hover {
  transform: translateY(3px) !important;
  box-shadow: 0rem 0rem 0 0rem !important;
}

.navi_box a:hover,
.footer_box a:hover,
.right_box a:hover {
  transform: translateY(3px) !important;
}
.navi_box a:hover .b-inner,
.footer_box a:hover .b-inner,
.right_box a:hover .b-inner {
  box-shadow: 0 0 0 0.1rem !important;
}

/* ====================================================
	hover
==================================================== */
@media (hover: hover) and (pointer: fine) {
  .is-hover05:hover {
    opacity: 0.55 !important;
  }
  .is-hover06:hover {
    opacity: 0.65 !important;
  }
  .is-hover08:hover {
    opacity: 0.8 !important;
  }
}
/* ----------------------------------------------------
	フッター,ナビ
---------------------------------------------------- */
.footer_inner {
  background-color: #ffffff;
  padding: 9.6rem 2rem 5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.navi_fv-inner {
  max-width: 46.5rem;
  margin: 0 auto;
  height: calc(100dvh - 3.8rem);
  border-radius: 17px;
  top: 2.3%;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.fv_frame {
  stroke-width: 3;
  stroke-linecap: round;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  min-height: 68rem;
}

rect {
  width: 99.5%;
  height: 99.7%;
}

@keyframes line-animation {
  0% {
    stroke-dashoffset: 2220;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.navi_list,
.footer_list,
.right_list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3.6rem;
}

.footer_list {
  gap: 4rem;
}

.navi_fv-inner a,
.footer_inner a,
.right_inner a {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 3.2rem;
  letter-spacing: 0.05em;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2.4rem;
}

.right_list a {
  color: #ffffff;
  font-size: 2.4rem;
  gap: 1.6rem !important;
}

.footer_inner a span,
.navi_fv-inner a span {
  font-size: 1.9rem;
}

.right_list a span,
.right_box a span {
  font-size: 1.3rem;
  letter-spacing: 0.1em;
}

.navi_box a span,
.footer_box a span,
.right_box a span {
  position: relative;
  padding: 0 2rem;
  letter-spacing: 0.03em;
}

.navi_box a span::before,
.footer_box a span::before,
.right_box a span::before,
.navi_box a span::after,
.footer_box a span::after,
.right_box a span::after {
  content: "";
  width: 0.2rem;
  height: 100%;
  position: absolute;
  top: 0;
}

.navi_box a span::before,
.navi_box a span::after {
  background-color: #ffffff;
}

.footer_creator span::before,
.footer_creator span::after {
  background-color: #0ca6ff;
}

.footer_contact span::before,
.footer_contact span::after,
.right_box a span::before,
.right_box a span::after {
  background-color: #ff3149;
}

.navi_box a span::before,
.footer_box a span::before,
.right_box a span::before {
  left: 2%;
  transform: rotate(-25deg);
}

.navi_box a span::after,
.footer_box a span::after,
.right_box a span::after {
  right: 2%;
  transform: rotate(25deg);
}

.footer_list a {
  color: #474747;
}

.navi_list a,
.navi_creator span,
.navi_contact span {
  color: #ffffff;
}

.navi_box,
.footer_box,
.right_box {
  display: flex;
  flex-direction: column;
}

.footer_box {
  padding-top: 4rem;
  gap: 4rem;
}

.right_box {
  padding-top: 3rem;
  gap: 2.8rem;
}

.footer_box a,
.navi_box a {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
}

.footer_box a {
  gap: 0.5rem;
}

.footer_creator,
.navi_creator {
  color: #0ca6ff;
}

.footer_contact,
.navi_contact,
.right_creator,
.right_contact {
  color: #ff3149;
}

.right_creator,
.right_contact {
  color: #ff3149 !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  font-size: 2.4rem;
  gap: 0.8rem !important;
}

.b-inner {
  border-radius: 3rem;
  padding: 1.6rem 3.2rem 1.5rem;
  background-color: #ffffff;
}

.footer_creator .b-inner,
.navi_creator .b-inner {
  box-shadow: 0 0.5rem 0 0.1rem rgb(12, 166, 255);
  border: 0.1rem solid #0ca6ff;
}

.footer_contact .b-inner,
.navi_contact .b-inner {
  box-shadow: 0 0.5rem 0 0.1rem rgb(255, 49, 73);
  border: 0.1rem solid #ff3149;
}

.right_creator .b-inner,
.right_contact .b-inner {
  box-shadow: 0 0.2rem 0 0.1rem rgb(255, 49, 73);
  border: 0.1rem solid #ff3149;
}

.right_creator .b-inner,
.right_contact .b-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  font-size: 2.4rem;
  padding: 2rem 2.3rem;
  border-radius: 4rem;
}

.footer_logo {
  padding-top: 5.2rem;
  width: 28.5rem;
}

.footer_copyright {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #bb1b28;
  font-size: 1.35rem;
  letter-spacing: 0.18em;
  padding-top: 2.3rem;
}

.footer_deco {
  padding-top: 6rem;
  gap: 1.4rem;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.footer_deco img {
  width: 20%;
}

.footer_deco img:nth-of-type(2n + 1) {
  animation: fuwafuwa_01 3s infinite;
}

.footer_deco img:nth-of-type(2n) {
  animation: fuwafuwa_02 3s infinite;
}

.navi_btn {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.navi_btn:has(.navi_icon.open) {
  align-items: flex-start;
}

.navi_fv-main,
.navi_follow-main {
  overflow: hidden;
  width: calc(100% - 4rem);
  height: calc(100dvh - 1rem);
  padding: 1rem 2rem 0;
  background-image: linear-gradient(230deg, rgb(255, 46, 70), rgb(255, 160, 163));
  z-index: 998;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.navi_bk {
  position: absolute;
  z-index: -1;
}

.navi_bk.is-01 {
  width: 14rem;
  top: 6.6rem;
  right: -2.5rem;
}

.navi_bk.is-02 {
  width: 13.4rem;
  top: 22.8rem;
  right: 5.6rem;
}

.navi_bk.is-03 {
  width: 18rem;
  top: 34.8rem;
  right: -4.2rem;
}

.navi_bk.is-04 {
  width: 15rem;
  top: 69.3rem;
  right: -3.7rem;
}

.navi_bk.is-05 {
  width: 15.1rem;
  top: 53rem;
  right: 3rem;
}

/* ----------------------------------------------------
	FV アニメーション
---------------------------------------------------- */
.fv_inner {
  position: relative;
  height: 100dvh;
  overflow: hidden;
  background-color: white;
}

.red_bk {
  transition: 1s;
  position: absolute;
  background-image: linear-gradient(200deg, rgb(249, 0, 29), rgb(255, 129, 138));
  width: 100%;
  height: 100dvh;
  z-index: 6 !important;
}

.sc_bk {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  aspect-ratio: 500/911;
  -o-object-fit: cover;
     object-fit: cover;
}

.sc_bk:first-of-type {
  z-index: 5;
}

.sc_bk:nth-of-type(2) {
  z-index: 4;
}

.sc_bk:nth-of-type(3) {
  z-index: 3;
}

.sc_bk:nth-of-type(4) {
  z-index: 2;
}

.sc_bk:nth-of-type(5) {
  z-index: 1;
  transform: scale(1.28);
  top: -2%;
}

.sc_bk:nth-of-type(2),
.sc_bk:nth-of-type(3),
.sc_bk:nth-of-type(4) {
  transform: scale(1.7);
}

.sc_catchphrase {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 12.5rem;
  transition: 0.5s;
}

.sc_anime {
  position: absolute;
  z-index: 4;
  transition: 0.5s;
}

.sc_anime.is-01 {
  top: 57.4%;
  left: 28.8%;
  width: 7rem;
}

.sc_anime.is-02 {
  top: 55%;
  right: 20%;
  width: 12rem;
}

.sc_anime.is-03 {
  top: 31%;
  left: 19%;
  width: 7rem;
  transform: rotate(-11deg);
}

.sc_anime.is-04 {
  top: 48.5%;
  left: 12.9%;
  width: 5.8rem;
}

.sc_anime.is-05 {
  top: 72.8%;
  left: 6.5%;
  width: 15rem;
  transform: rotate(-11deg);
}

.sc_anime.is-06 {
  top: 9%;
  right: -2.5rem;
  width: 24rem;
}

.sc_anime.is-07 {
  top: 58.7%;
  left: 7.8%;
  width: 7rem;
}

.sc_anime.is-08 {
  top: 61%;
  right: 15.7%;
  width: 4.5rem;
}

.sc_anime.is-09 {
  top: 15%;
  left: 2.3%;
  width: 10.5rem;
}

.sc_anime.is-10 {
  top: 28%;
  right: 21.8%;
  width: 7.8rem;
}

/* ----------------------------------------------------
	FVアニメーション終了後
---------------------------------------------------- */
.fv_deco.is-active .sc_anime.is-01 {
  top: 21.8%;
  left: 24%;
  width: 11.5rem;
}
.fv_deco.is-active .sc_anime.is-02 {
  top: 57.2%;
  right: 32.2%;
  width: 15rem;
}
.fv_deco.is-active .sc_anime.is-03 {
  top: 50%;
  left: 60%;
  width: 10rem;
}
.fv_deco.is-active .sc_anime.is-04 {
  display: none;
}
.fv_deco.is-active .sc_anime.is-05 {
  top: 58%;
  left: 3%;
  width: 23.5rem;
}
.fv_deco.is-active .sc_anime.is-06 {
  top: 18.2%;
  right: 7.4rem;
  width: 24rem;
}
.fv_deco.is-active .sc_anime.is-07 {
  top: 41.3%;
  left: 47.4%;
  width: 4.2rem;
}
.fv_deco.is-active .sc_anime.is-08 {
  top: 61.5%;
  right: 5.8%;
  width: 16.7rem;
  transform: rotate(-2deg);
}
.fv_deco.is-active .sc_anime.is-09 {
  top: 53.1%;
  left: 40.3%;
  width: 5.8rem;
}
.fv_deco.is-active .sc_anime.is-10 {
  display: none;
}
.fv_deco.is-active .sc_anime.is-11 {
  top: 33.3%;
  left: 20%;
  width: 8.5rem;
}
.fv_deco.is-active .sc_anime.is-12 {
  top: 46.4%;
  left: 12.3%;
  width: 10.2rem;
}
.fv_deco.is-active .sc_anime.is-13 {
  top: 46.4%;
  left: 32.2%;
  width: 3.7rem;
}
.fv_deco.is-active .sc_anime.is-14 {
  top: 35%;
  right: 19.7%;
  transform: rotate(-5deg);
  width: 8.8rem;
}

/* ----------------------------------------------------
	散らばったあと
---------------------------------------------------- */
.fv_deco.is-active.scatter .sc_anime.is-01 {
  top: 15.5%;
  left: 19.4%;
}
.fv_deco.is-active.scatter .sc_anime.is-02 {
  top: 65%;
  right: 21.2%;
}
.fv_deco.is-active.scatter .sc_anime.is-03 {
  top: 55%;
  left: 70.5%;
}
.fv_deco.is-active.scatter .sc_anime.is-05 {
  top: 75.3%;
  left: -2.7%;
}
.fv_deco.is-active.scatter .sc_anime.is-06 {
  top: 13.9%;
  right: 1.8rem;
}
.fv_deco.is-active.scatter .sc_anime.is-07 {
  top: 31.7%;
  left: 26%;
}
.fv_deco.is-active.scatter .sc_anime.is-08 {
  top: 72%;
  right: -0.2%;
}
.fv_deco.is-active.scatter .sc_anime.is-09 {
  top: 67.5%;
  left: 31.7%;
}
.fv_deco.is-active.scatter .sc_anime.is-11 {
  top: 23.7%;
  left: 6%;
}
.fv_deco.is-active.scatter .sc_anime.is-12 {
  top: 60.7%;
  left: 3.9%;
}
.fv_deco.is-active.scatter .sc_anime.is-13 {
  top: 60.5%;
  left: 23.6%;
}
.fv_deco.is-active.scatter .sc_anime.is-14 {
  top: 29.6%;
  right: 7.8%;
}
.fv_deco.is-active.scatter .sc_anime.is-01,
.fv_deco.is-active.scatter .sc_anime.is-03,
.fv_deco.is-active.scatter .sc_anime.is-05,
.fv_deco.is-active.scatter .sc_anime.is-07,
.fv_deco.is-active.scatter .sc_anime.is-09,
.fv_deco.is-active.scatter .sc_anime.is-11,
.fv_deco.is-active.scatter .sc_anime.is-13 {
  animation: fuwafuwa_01 3s infinite;
}
.fv_deco.is-active.scatter .sc_anime.is-02,
.fv_deco.is-active.scatter .sc_anime.is-04,
.fv_deco.is-active.scatter .sc_anime.is-06,
.fv_deco.is-active.scatter .sc_anime.is-08,
.fv_deco.is-active.scatter .sc_anime.is-10,
.fv_deco.is-active.scatter .sc_anime.is-12,
.fv_deco.is-active.scatter .sc_anime.is-14 {
  animation: fuwafuwa_02 3s infinite;
}

@keyframes fuwafuwa_01 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(0.5rem);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes fuwafuwa_02 {
  0% {
    transform: translateY(0.5rem);
  }
  50% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0.5rem);
  }
}
.fv_ending {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: 4.3rem;
  letter-spacing: 0.05em;
  line-height: 1.39;
  text-align: center;
  background: linear-gradient(90deg, #f9001d 0%, #fc8056 65%, #ffff90 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  margin: 0 auto;
}

/* ----------------------------------------------------
	フェードイン
---------------------------------------------------- */
.org_animated.active {
  animation: fadeIn 1s;
}

@keyframes fadeIn {
  0% {
    transform: translateY(5%);
    transition: 0.5s;
  }
  100% {
    transform: translateY(0);
  }
}
/* ====================================================
	FV用 ナビ
==================================================== */
.navi_btn,
.navi_deco {
  transition: 0.3s;
  opacity: 0;
}

.navi_deco {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
}

.navi_scroll {
  position: relative;
  background-color: #ffffff;
  width: 4rem;
  height: 18.4rem;
  border-top-right-radius: 17px;
}

.scrollBar {
  width: 0.2rem;
  height: 75%;
  background-color: #bb1b28;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  margin: 0 auto;
}

.scrollDeco {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 3.8rem;
  height: 3.8rem;
  animation: anime_scrollDeco 3s infinite;
}

@keyframes anime_scrollDeco {
  0% {
    top: 5%;
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    top: 73%;
    opacity: 1;
  }
  100% {
    top: 75%;
    opacity: 0;
  }
}
/* ====================================================
	FV用 ナビ
==================================================== */
.navi_fv,
.navi_follow {
  max-width: 50rem;
  width: 100%;
  position: fixed;
}

.navi_fv {
  height: 100%;
}

.navi_follow {
  height: auto;
}

.navi_btn a {
  margin-top: 0.4rem;
  margin-left: 3.2rem;
}

.navi_deco h1 {
  width: 35.3rem;
  padding-right: 1.9rem;
  padding-bottom: 1.5rem;
}

.navi_follow-main .navi_list {
  padding-top: 13.8rem;
}

.navi_list a {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2.3rem;
}

.navi_list a,
.b-inner {
  font-size: 3.2rem;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.navi_list a span,
.navi_box a span {
  font-size: 1.9rem;
}

/*---------- 開いた時 ----------*/
.navi_btn a svg {
  width: 267px;
  height: 68px;
}

.navi_cmn-btn a svg {
  width: 217px;
  height: 55px;
}

.navi_cmn-btn {
  width: -moz-fit-content;
  width: fit-content;
}

.navi_list {
  padding: 8.2rem 2.2rem 0;
}

.navi_box {
  padding: 5rem 2.2rem;
  gap: 3.2rem;
}

/* ====================================================
　追従用 ナビ
==================================================== */
.navi-follow_inner {
  width: 100%;
  transition: 0.2s;
  z-index: 999999;
  position: relative;
}

.navi-follow_btn {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 2.1rem;
}

.navi_icon,
.navi-follow_icon {
  cursor: pointer;
  position: relative;
  z-index: 999;
  width: 8.5rem;
  height: 8.7rem;
  background-color: #ffffff;
  border-bottom-left-radius: 20px;
}

.navi-follow_btn a,
.navi-follow_icon {
  filter: drop-shadow(1px 1px 5px rgba(0, 0, 0, 0.1));
}

.navi-follow_icon {
  width: 4.4rem;
  height: 2.8rem;
  background-color: initial;
}

.navi_icon span,
.navi-follow_icon span {
  width: 50%;
  height: 0.2rem;
  background-color: #bb1b28;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  border-radius: 2.5rem;
}

.navi-follow_icon span {
  width: 100%;
  background-color: #ffffff;
}

.navi_icon span:first-of-type {
  top: 33%;
  transition: 0.3s;
}

.navi_icon span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
}

.navi_icon span:last-of-type {
  bottom: 33%;
  transition: 0.3s;
}

.navi_icon.open {
  background-color: initial !important;
  width: 4rem;
  height: 4rem;
  margin-top: -0.6rem;
}

.navi_icon.open span:first-of-type {
  top: 50% !important;
  transform: translateY(-50%) rotate(45deg);
  background-color: #ffffff !important;
  width: 100%;
  margin-top: 0.15rem;
}

.navi_icon.open span:nth-of-type(2) {
  opacity: 0;
}

.navi_icon.open span:last-of-type {
  bottom: initial !important;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  background-color: #ffffff !important;
  width: 100%;
}

.navi-follow_icon span:first-of-type {
  top: 0;
  transition: 0.3s;
}

.navi-follow_icon span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
}

.navi-follow_icon span:last-of-type {
  bottom: 0;
  transition: 0.3s;
}

.navi-follow_icon.open span:first-of-type {
  top: 50% !important;
  transform: translateY(-50%) rotate(45deg);
  background-color: #ffffff !important;
  width: 100%;
}

.navi-follow_icon.open span:nth-of-type(2) {
  opacity: 0;
}

.navi-follow_icon.open span:last-of-type {
  bottom: initial !important;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  background-color: #ffffff !important;
  width: 100%;
}

/* ----------------------------------------------------
	共通
---------------------------------------------------- */
.middle_title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.2rem;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
}
.middle_title .is-ja {
  font-size: 2.1rem;
  font-weight: 700;
  letter-spacing: 0.17em;
  position: relative;
  background-color: #ffffff;
  padding: 1.2rem 7.4rem 1rem;
  border-radius: 15rem;
  text-align: center;
}
.middle_title .is-ja::before {
  content: "";
  position: absolute;
  bottom: -45%;
  left: 0;
  right: 0;
  margin: 0 auto;
  border: 1rem solid transparent;
  border-top: 1.2rem solid #ffffff;
  width: 0.5%;
}
.middle_title .is-en {
  position: relative;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 6.1rem;
  letter-spacing: 0.065em;
  color: #ffffff;
  paint-order: stroke;
  text-align: center;
}
.middle_title .is-en::before {
  content: attr(data-label);
  position: absolute;
  -webkit-text-stroke: initial;
  bottom: -0.5rem;
  left: -0.5rem;
}

.title_hashtag {
  padding-top: 1.6rem;
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 1.1rem;
}

.title_hashtag p {
  padding: 1rem 2rem;
  border-radius: 25rem;
  font-size: 1.7rem;
  font-weight: 500;
  color: #ffffff;
}

.cmn_txt {
  font-size: 1.82rem;
  line-height: 174%;
  letter-spacing: 0.07em;
  text-align: center;
}

.cmn_btn {
  position: relative;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: 2.133rem;
  font-weight: 500;
  letter-spacing: 5%;
  border-radius: 25rem;
  width: -moz-fit-content;
  width: fit-content;
  padding: 3.2rem 5.2rem;
  margin: auto;
  background-color: #ffffff;
  border-width: 0.2rem;
  border-style: solid;
  box-sizing: border-box;
  margin-top: 4.2rem;
}

.cmn_bk.is-red {
  background-image: url(/img/cmn_bk_red.png), linear-gradient(200deg, rgb(255, 46, 70), rgba(255, 160, 163, 0.2));
  background-position: center top;
}
.cmn_bk.is-red .middle_title .is-ja {
  color: #ff3149;
}
.cmn_bk.is-red .middle_title .is-en {
  -webkit-text-stroke: 0.06em #730000;
}
.cmn_bk.is-red .middle_title .is-en::before {
  color: #730000;
}
.cmn_bk.is-red .title_hashtag p {
  background-color: #0ca6ff;
}
.cmn_bk.is-red .cmn_btn {
  color: #730000;
  border-color: #730000;
  box-shadow: -0.2rem 0.6rem 0 0rem rgb(155, 0, 0);
}

.cmn_bk.is-blue {
  background-image: url(/img/cmn_bk_blue.png), linear-gradient(200deg, rgb(0, 199, 249), rgba(88, 219, 252, 0.6) 30%, rgba(175, 239, 255, 0.2));
  background-position: center bottom;
}
.cmn_bk.is-blue .middle_title .is-ja {
  color: #0ca6ff;
}
.cmn_bk.is-blue .middle_title .is-en {
  -webkit-text-stroke: 0.06em #003273;
}
.cmn_bk.is-blue .middle_title .is-en::before {
  color: #003273;
}
.cmn_bk.is-blue .title_hashtag p {
  background-color: #ff2e47;
}
.cmn_bk.is-blue .cmn_btn {
  color: #003273;
  border-color: #003273;
  box-shadow: -0.2rem 0.6rem 0 0rem rgb(0, 50, 115);
}

/* ====================================================
	TOPページ
==================================================== */
.is-top main {
  /* ----------------------------------------------------
  	ABOUT
  ---------------------------------------------------- */
}
.is-top main #about {
  padding: 17rem 0 9.8rem !important;
}
.is-top main .about_box {
  position: relative;
  margin-top: 3.2rem;
  padding: 5.5rem 0 5.2rem;
  background-color: #ffffff;
  border-radius: 2rem;
}
.is-top main .about_box h3 {
  background: linear-gradient(130deg, #f9001d 0%, #fc8056 65%, #ffff90 95%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 700;
  font-size: 3.3rem;
  line-height: 1.49;
  letter-spacing: 0.05em;
  text-align: center;
}
.is-top main .about_box p {
  font-size: 1.8rem;
  letter-spacing: 0.2em;
  line-height: 1.78;
  margin: 0 auto;
  padding-top: 3.2rem;
  text-align: center;
}
.is-top main .about_deco {
  position: absolute;
}
.is-top main .about_deco.is-01 {
  animation: fuwafuwa_01 3s infinite;
  top: -8.4rem;
  right: -4.3rem;
  width: 14.5rem;
}
.is-top main .about_deco.is-02 {
  animation: fuwafuwa_02 3s infinite;
  top: 12.8rem;
  left: -5.8rem;
  width: 13.8rem;
}
.is-top main .about_deco.is-03 {
  animation: fuwafuwa_01 3s infinite;
  bottom: -12.7rem;
  left: -9.7rem;
  width: 24.5rem;
}
.is-top main .about_deco.is-04 {
  animation: fuwafuwa_02 3s infinite;
  bottom: -4.5rem;
  right: -2.2rem;
  width: 10.8rem;
}
.is-top main {
  /* ----------------------------------------------------
  	所属クリエイター
  ---------------------------------------------------- */
}
.is-top main #creator {
  padding: initial !important;
  position: relative;
}
.is-top main #creator .main_block {
  position: relative;
  margin-top: 2rem;
}
.is-top main .creator_inner {
  padding-top: 2.8rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  height: 100lvh;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .is-top main .creator_inner {
    padding-top: initial;
  }
}
.is-top main #creator .cmn_inner {
  min-height: 78rem;
}
@media screen and (max-width: 767px) {
  .is-top main #creator .cmn_inner {
    min-height: 65rem;
  }
}
.is-top main .creator_box {
  position: relative;
  width: 35rem;
  height: 50.5rem;
  margin: 0 auto;
}
.is-top main .card,
.is-top main .creator_more {
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  width: 100%;
  height: 100%;
}
.is-top main .creator_box .is-01 {
  z-index: 6;
}
.is-top main .creator_box .is-02 {
  z-index: 5;
}
.is-top main .creator_box .creator_more {
  z-index: 1;
}
.is-top main .card_inner {
  aspect-ratio: 350/505;
  border-radius: 2rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
}
.is-top main .card_wrap {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.is-top main .card_tag {
  position: absolute;
  left: -2.9rem;
  font-size: 1.5rem;
  letter-spacing: 0.17em;
  background-color: #0ca6ff;
  color: #ffffff;
  padding: 1rem 2.1rem;
  border-radius: 25rem;
}
.is-top main .hashtag_01 {
  top: 19.5rem;
}
.is-top main .hashtag_02 {
  top: 24.3rem;
}
.is-top main .creator_wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 88%;
  margin: 0 auto;
  padding: 2.3rem 0;
}
.is-top main .creator_info {
  width: 100%;
  text-align: left;
  padding-bottom: 1.8rem;
  border-bottom: 1px solid #d6d6d6;
}
.is-top main .name {
  font-size: 2.8rem;
}
.is-top main .speech {
  padding-top: 1.6rem;
  font-size: 2rem;
}
.is-top main .creator_sns {
  padding-top: 1.7rem;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.6rem;
}
.is-top main .tiktok,
.is-top main .instagram {
  width: 4.8rem;
}
.is-top main .creator_more .title_hashtag {
  flex-wrap: wrap;
  padding-top: 0.2rem;
  gap: 1.3rem;
}
.is-top main .creator_link {
  white-space: nowrap;
  padding: 14rem 8.5rem;
  letter-spacing: 0.09em;
  margin-top: 7.7rem !important;
  font-size: 2.3rem;
}
.is-top main #creator .navi_scroll {
  background-color: initial;
  margin-top: initial;
  padding-left: initial;
  position: absolute;
  bottom: -15rem;
  left: -4rem;
}
@media screen and (max-width: 767px) {
  .is-top main #creator .navi_scroll {
    bottom: 0;
    left: -5rem;
  }
}
.is-top main .creator_page {
  transition: 0.3s;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: 53.7rem;
}
@media screen and (max-width: 767px) {
  .is-top main .creator_page {
    display: none;
  }
}
.is-top main .like_01,
.is-top main .like_02,
.is-top main .like_03,
.is-top main .like_04 {
  position: absolute;
}
.is-top main .like_02,
.is-top main .like_03,
.is-top main .like_04 {
  width: 2.9rem;
}
.is-top main .like_01 {
  width: 4.7rem;
  bottom: 3.4rem;
  right: 2.6rem;
}
.is-top main .like_02 {
  bottom: 9.2rem;
  right: 2.2rem;
  animation: like_01 2s infinite;
}
.is-top main .like_03 {
  bottom: 11.7rem;
  right: 5rem;
  animation: like_01 2s 0.5s infinite;
}
.is-top main .like_04 {
  bottom: 15.3rem;
  right: 2.7rem;
  animation: like_01 2s 0.7s infinite;
}
@keyframes like_01 {
  0% {
    opacity: 0;
    transform: translateY(7px);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.is-top main {
  /* ----------------------------------------------------
  	NEWS
  ---------------------------------------------------- */
}
.is-top main #news {
  background-position: center top;
}
.is-top main #news .main_block {
  margin-top: 3.2rem;
}
.is-top main .news_single {
  border-top: 0.2rem solid #ffffff;
}
.is-top main .news_single:last-of-type {
  border-bottom: 0.2rem solid #ffffff;
}
.is-top main #news h6 {
  position: relative;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.1rem;
  padding: 3rem 0.7rem 2.8rem;
}
.is-top main #news h6.open {
  color: #003273;
}
.is-top main .news_date {
  font-size: 1.5rem;
  letter-spacing: 0.03em;
  font-weight: 300;
}
.is-top main .news_title {
  width: 85%;
  font-size: 2rem;
  letter-spacing: 0.02em;
  line-height: 140%;
  font-weight: 500;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.is-top main .news_switch {
  width: 3rem;
  height: 3rem;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 2.5rem;
  outline: solid #ffffff;
}
.is-top main .news_switch p {
  width: 60%;
  height: 0.3rem;
  background-color: #ffffff;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: 0 auto;
  transition: 0.3s;
}
.is-top main .news_switch p:first-of-type {
  transform: translateY(-50%);
}
.is-top main .news_switch p:last-of-type {
  transform: translateY(-50%) rotate(90deg);
}
.is-top main #news h6.open .news_switch p:first-of-type {
  display: none;
}
.is-top main #news h6.open .news_switch p:last-of-type {
  transform: translateY(-50%) rotate(180deg);
}
.is-top main .news_content-inner {
  padding: 0.1rem 0.3rem 0;
  text-align: left;
  font-size: 1.7rem;
  letter-spacing: 0.075em;
  line-height: 1.34;
}
.is-top main .news_content-inner a {
  color: #0000ee;
  font-size: 1.5rem;
  border-bottom: 1px solid #0000ee;
  width: -moz-fit-content;
  width: fit-content;
}
.is-top main .news_close {
  position: relative;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: 2.133rem;
  font-weight: 500;
  letter-spacing: 5%;
  border-radius: 25rem;
  width: -moz-fit-content;
  width: fit-content;
  padding: 3.2rem 5.2rem;
  background-color: #ffffff;
  border: 1px solid #8ba6ca;
  margin: 4.4rem auto 3rem;
  padding: 2.2rem 5.4rem;
  color: #8ba6ca;
}

/* ====================================================
	共通コンテンツ
==================================================== */
/* ----------------------------------------------------
	サービス&クリエイター
---------------------------------------------------- */
#service {
  background-position: center top;
}
#service .service_txt {
  margin-top: 1.6rem;
  color: #003273;
}
#service .service_list {
  width: 38.2rem;
  margin: auto;
  margin-top: 4.4rem;
}
#service .service_item {
  position: relative;
}
#service .service_item + .service_item {
  margin-top: 4.4rem;
}
#service .service_item .num {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 5.3rem;
  position: absolute;
  top: -2rem;
  left: -2.9rem;
  color: #003273;
  z-index: 1;
}
#service .service_item-content {
  border-radius: 2.1rem 2.1rem 0 0;
  overflow: hidden;
  background-color: #fff;
}
#service .service_item-head {
  position: relative;
}
#service .service_item-ttl {
  position: absolute;
  font-weight: 700;
  font-size: 2.533rem;
  color: #003273;
  top: 3rem;
  left: 0;
  right: 0;
  margin: auto;
  letter-spacing: 5%;
  text-align: center;
}
#service .service_item-leading {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 2rem;
  color: #003273;
  line-height: 140%;
  letter-spacing: 5%;
}
#service .service_item-body {
  display: none;
  padding: 1.5rem 2.5rem 3.5rem;
}
#service .service_item-leading {
  font-weight: 700;
  font-size: 2rem;
  line-height: 140%;
  letter-spacing: 5%;
}
#service .service_item-txt {
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 140%;
  letter-spacing: 5%;
  margin-top: 1.5rem;
  text-align: justify;
}
#service .service_item-tag {
  position: relative;
}
#service .service_item-tag .inner {
  padding: 2.2rem 1rem 2rem;
  background-color: #fff673;
  border-radius: 0 0 2.1rem 2.1rem;
  overflow: hidden;
}
#service .service_item-tag .tag {
  font-weight: 700;
  font-size: 1.867rem;
  color: #003273;
  letter-spacing: 5%;
  text-align: center;
}
#service .service_item-tag .btn {
  position: absolute;
  width: 6.7rem;
  height: auto;
  aspect-ratio: 1/1;
  background-color: #003273;
  z-index: 1;
  right: -3rem;
  bottom: -2.7rem;
  border-radius: 50%;
}
#service .service_item-tag .btn.is-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
}
#service .service_item-tag .btn.is-arrow > img {
  width: 2.7rem;
}
#service .service_item-tag .btn.is-tgl > span {
  width: 2.4rem;
  height: 0.4rem;
  background-color: #fff;
  position: absolute;
  top: 48%;
  left: 33%;
  transition: all 0.4s;
}
#service .service_item-tag .btn.is-tgl > span:nth-of-type(2) {
  transform: rotate(90deg);
}
#service .service_item.active .service_item-tag .tgl > span:nth-of-type(2) {
  transform: rotate(0deg);
}
#service .service_item.active .service_item-tag .btn.is-tgl span:first-of-type {
  opacity: 0;
}
#service .service_item.active .service_item-tag .btn.is-tgl span:nth-of-type(2) {
  transform: rotate(180deg) !important;
}

/* ----------------------------------------------------
	クリエイター募集
---------------------------------------------------- */
#crrct .crrct_txt {
  margin-top: 1.7rem;
  text-align: center;
  color: #003273;
  letter-spacing: 0.2em;
  line-height: 175%;
}
#crrct .splide {
  z-index: 998;
}
#crrct .splide__slide {
  display: flex;
  align-items: center;
  height: 35rem;
}
#crrct .splide__slide.is-active {
  z-index: 999;
  animation: center 2s 1;
}
@keyframes center {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
#crrct .splide_deco {
  position: absolute;
  width: 11.5rem !important;
  height: 11.5rem;
  top: 2.7rem;
  left: -3.5rem;
}
#crrct .splide__slide img {
  width: 100%;
  display: block;
}
#crrct .view_more {
  margin-top: 0;
}

/* ----------------------------------------------------
	お問い合わせ
---------------------------------------------------- */
.contact .main_block {
  margin-top: 3.2rem;
}

.contact_box {
  margin-top: 3.3rem;
  padding: 5.2rem 0;
  background-color: #ffffff;
  border-radius: 1.6rem;
}

.contact_leading {
  font-weight: 700;
  font-size: 3rem;
  letter-spacing: 0.03em;
  line-height: 1.5;
  text-align: center;
  color: #ff3149;
}

.contact_step {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 4.3rem;
  padding-top: 2rem;
}

.step {
  position: relative;
  color: #ffffff;
  background-color: #ff3149;
  text-align: center;
  font-weight: 700;
  border-radius: 25rem;
  width: calc((100% - 15rem) / 3);
  padding: 2.8rem 0 3.5rem;
}

.step:not(:last-of-type)::before {
  content: "";
  width: 0;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-top: 15px solid #0ca6ff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
  right: -4rem;
}

.step span {
  font-size: 1.7rem;
  letter-spacing: 0.1em;
}

.step p {
  padding-top: 0.4rem;
  font-size: 2.1rem;
  letter-spacing: 0.1em;
}

.contact_close {
  padding-top: 2.4rem;
  font-size: 2rem;
  letter-spacing: 0.05em;
  line-height: 1.6;
  text-align: center;
}

#contact .view_more {
  margin: 3.2rem auto 0;
  padding: 3.3rem 7.8rem;
  letter-spacing: 0.1em;
}

/* ====================================================
	下層
==================================================== */
.breadcrumbList {
  display: flex;
  flex-wrap: wrap;
}
.breadcrumbList li {
  position: relative;
}
.breadcrumbList li:has(a) {
  margin-right: 4.2rem;
}
.breadcrumbList li:has(a)::after {
  content: "";
  position: absolute;
  top: 45.8%;
  right: -1.8rem;
  transform: rotate(20deg) translateY(-50%);
  width: 1px;
  height: calc(100% - 0.3rem);
  background-color: #9f9f9f;
}
.breadcrumbList span {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 1.56rem;
  color: #9f9f9f;
}
.breadcrumbList a,
.breadcrumbList a span {
  color: #000;
}

body.is-article header .navi_fv {
  display: none;
}
body.is-article .cmn_head {
  padding: 8.8rem 0 4.1rem;
}
body.is-article h1 {
  display: flex;
  flex-direction: column;
  margin-top: 3.3rem;
  background: linear-gradient(138deg, #f9001d 0%, #f9001d 30%, #fc8056 60%, #ffff90 80%, #ffff90 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-align: center;
}
body.is-article h1 .is-en {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 5.2rem;
  letter-spacing: 0.06em;
}
body.is-article h1 .is-ja {
  font-weight: 700;
  font-size: 2.08rem;
  margin-top: 0.6rem;
  letter-spacing: 0.12em;
}
body.is-article .cmn_body {
  border-radius: 8rem 0 0 0;
  overflow: hidden;
}

/* ----------------------------------------------------
	私たちについて
---------------------------------------------------- */
body.page_about {
  /*---------- メッセージ ----------*/
}
body.page_about #msg .main_block {
  margin-top: 2.7rem;
}
body.page_about #msg .msg_imgBox {
  width: 32.5rem;
  height: auto;
  aspect-ratio: 1/1;
  margin: auto;
}
body.page_about #msg .msg_imgBox img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.page_about #msg .msg_txtWrapper {
  position: relative;
  background-color: #fff;
  border-radius: 2rem;
  margin-top: 4.3rem;
  padding: 5.1rem 2rem 8.5rem;
}
body.page_about #msg .msg_leading,
body.page_about #msg .msg_txt {
  font-family: "vdl-logog", sans-serif;
  font-weight: 400;
}
body.page_about #msg .msg_leading {
  font-size: 3.07rem;
  line-height: 155%;
  letter-spacing: 0.05em;
  background: linear-gradient(138deg, #f9001d 0%, #f9001d 30%, #fc8056 60%, #ffff90 80%, #ffff90 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-align: center;
}
body.page_about #msg .msg_leading .is-large {
  font-size: 3.39rem;
}
body.page_about #msg .msg_leading .is-small {
  font-size: 2.546rem;
}
body.page_about #msg .msg_txtBox {
  margin-top: 3rem;
}
body.page_about #msg .msg_txt {
  font-size: 1.82rem;
  line-height: 170%;
  margin-top: 3rem;
  text-align: center;
}
body.page_about #msg .msg_txt + .msg_txt {
  margin-top: 3.5rem;
}
body.page_about #msg .msg_deco {
  position: absolute;
  height: auto;
}
body.page_about #msg .msg_deco.is-01 {
  top: -7rem;
  right: -2rem;
  width: 16.9rem;
  aspect-ratio: 1/1;
}
body.page_about #msg .msg_deco.is-02 {
  top: 0.9rem;
  left: -2.1rem;
  width: 13.3rem;
  aspect-ratio: 199/217;
}
body.page_about #msg .msg_deco.is-03 {
  top: 15rem;
  right: 1.6rem;
  width: 5rem;
  aspect-ratio: 1/1;
}
body.page_about #msg .msg_deco.is-04 {
  bottom: -4.9rem;
  left: -2.1rem;
  width: 16.3rem;
  aspect-ratio: 244/228;
}
body.page_about #msg .msg_deco.is-05 {
  bottom: -5.7rem;
  right: -2.5rem;
  width: 11.3rem;
  aspect-ratio: 166/172;
}
body.page_about #msg .msg_deco.is-01, body.page_about #msg .msg_deco.is-04 {
  animation: fuwafuwa_01 3s infinite;
}
body.page_about #msg .msg_deco.is-03, body.page_about #msg .msg_deco.is-02, body.page_about #msg .msg_deco.is-05 {
  animation: fuwafuwa_02 3s infinite;
}
body.page_about {
  /*---------- ロゴ ----------*/
}
body.page_about #logo .logo_txt {
  margin-top: 2.7rem;
  color: #003273;
}
body.page_about #logo .logo_splide {
  margin: 9.2% calc(50% - 25rem) 0 !important;
  width: 50rem;
  padding-bottom: 8.7rem;
}
body.page_about #logo .logo_splide .splide__track {
  overflow: initial;
}
body.page_about #logo .logo_splide .splide__slide {
  width: 36.1rem !important;
  height: auto;
  aspect-ratio: 351/416;
}
body.page_about #logo .logo_splide .splide__slide .num {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 5.3rem;
  position: absolute;
  top: -2.6rem;
  left: -0.8rem;
  color: #003273;
}
body.page_about #logo .logo_splide .splide__pagination {
  bottom: 2.9rem;
  padding: initial;
}
body.page_about #logo .logo_splide .splide__pagination__page {
  transform: scale(1) !important;
  opacity: 1 !important;
  width: 1.04rem;
  height: 1.04rem;
  margin: 0 0.9rem;
  background-color: rgba(0, 0, 0, 0.2);
}
body.page_about #logo .logo_splide .splide__pagination__page.is-active {
  background-color: #0ca6ff;
}
body.page_about #logo .logo_splide .splide__arrow {
  background-color: #0ca6ff;
  opacity: 1;
  top: initial;
  bottom: 0.3rem;
  transform: initial;
  width: 6.24rem;
  height: 6.24rem;
  transition: all 0.4s;
}
body.page_about #logo .logo_splide .splide__arrow[aria-label="Go to last slide"] {
  background-color: rgba(0, 0, 0, 0.2);
}
body.page_about #logo .logo_splide .splide__arrow img {
  width: 3.033rem;
  height: 3.033rem;
}
body.page_about #logo .logo_splide .splide__arrow--prev {
  left: 2.3rem;
}
body.page_about #logo .logo_splide .splide__arrow--prev img {
  margin-left: -0.2rem;
}
body.page_about #logo .logo_splide .splide__arrow--next {
  right: 2.3rem;
}
body.page_about #logo .logo_splide .splide__arrow--next img {
  transform: rotate(180deg);
  margin-left: 0.2rem;
}
body.page_about {
  /*---------- 会社概要 ----------*/
}
body.page_about #company .company_box {
  background-color: #fff;
  border-radius: 2rem;
}
body.page_about #company .companyInfo_box {
  margin-top: 4.3rem;
  padding: 5.1rem 4.4rem;
}
body.page_about #company .companyInfo_box dl {
  display: flex;
}
body.page_about #company .companyInfo_box dl + dl {
  margin-top: 2.3rem;
}
body.page_about #company .companyInfo_box dl * {
  color: #000;
  font-size: 1.56rem;
  line-height: 120%;
  letter-spacing: 0.02em;
}
body.page_about #company .companyInfo_box dt {
  width: 15.5rem;
  padding-right: 2rem;
  font-weight: 500;
}
body.page_about #company .companyInfo_box dd {
  width: 100%;
}
body.page_about #company .companyGroup {
  margin-top: 5.5rem;
}
body.page_about #company .companyGroup .companyGroup_box {
  margin-top: 3.3rem;
  padding: 3.9rem 3.4rem 5.3rem;
}
body.page_about #company .companyGroup .companyGroup_list li + li {
  margin-top: 2.1rem;
}

/* ----------------------------------------------------
	クリエイター募集
---------------------------------------------------- */
body.page_crrct .crrct_leading {
  font-weight: 800;
  font-size: 2.8rem;
  line-height: 157%;
  margin-top: 1.8rem;
  letter-spacing: 0.05em;
  color: #003273;
  text-align: center;
}
body.page_crrct .crrct_subleading {
  font-size: 2.133rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #003273;
  text-align: center;
}
body.page_crrct .crrct_conditions {
  margin-top: 4.2rem;
  background-color: #fff;
}
body.page_crrct .crrct_conditions .head {
  font-size: 2.4rem;
  font-weight: 700;
  color: #003273;
  padding: 2rem;
  letter-spacing: 0.1em;
  background-color: #fff673;
  text-align: center;
}
body.page_crrct .crrct_conditions .body {
  padding: 3.2rem 2rem 3.9rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
body.page_crrct .crrct_conditions .body-leading {
  width: 19rem;
  padding-right: 1.3rem;
}
body.page_crrct .crrct_conditions .body-leading.text_in {
  animation: b_text 1s 1;
}
@keyframes b_text {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.5);
  }
  100% {
    transform: scale(1);
  }
}
body.page_crrct .crrct_conditions .body-txt {
  font-size: 2.067rem;
  letter-spacing: 10%;
  margin-top: 2.6rem;
}
body.page_crrct .crrct_question {
  margin-top: 4.2rem;
}
body.page_crrct .crrct_question .middle_title .is-ja {
  background-color: #ff2e47 !important;
  color: #fff !important;
  width: calc(100% - 10rem);
}
body.page_crrct .crrct_question .middle_title .is-ja::before {
  border-top-color: #ff2e47 !important;
}
body.page_crrct .crrct_question .questionList {
  margin-top: 4.3rem;
}
body.page_crrct .crrct_question .questionList li {
  width: 100%;
  padding: 6.1rem 0 6.1rem;
  background: #fff;
  border-radius: 3.2rem;
  border: 0.1rem solid #003273;
  box-sizing: border-box;
  box-shadow: -0.1rem 0.4rem 0 0.1rem #003273;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.133rem;
  font-weight: 800;
  letter-spacing: 5%;
  color: #003273;
}
body.page_crrct .crrct_question .questionList li + li {
  margin-top: 3rem;
}
body.page_crrct .questionAnswer {
  position: fixed;
  inset: 0;
  z-index: 99;
  opacity: 0;
  pointer-events: none;
  transition: 0.3s;
}
body.page_crrct .questionAnswer_wrap {
  position: relative;
  margin: auto;
  height: 100%;
  overflow: auto;
}
body.page_crrct .questionAnswer_center {
  padding-top: 7.1rem;
  padding-bottom: 4rem;
  overflow: initial;
}
body.page_crrct .questionAnswer_centerBack {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgb(0, 199, 249), rgb(175, 239, 255));
  min-height: 100dvh;
}
body.page_crrct .questionAnswer_box {
  position: relative;
  padding: 3rem 2.8rem 3.4rem;
  border-radius: 1rem;
  background-color: #fff;
}
body.page_crrct .questionAnswer_head {
  font-weight: 800;
  font-size: 2.4rem;
  line-height: 120%;
  padding-bottom: 1.2rem;
  border-bottom: 1px solid #d6d6d6;
  color: #003273;
}
body.page_crrct .questionAnswer_body {
  margin: 1.3rem 0 0;
}
body.page_crrct .questionAnswer_body .ttl {
  font-weight: 800;
  font-size: 2.133rem;
  line-height: 175%;
  letter-spacing: 5%;
  margin-top: 1.3rem;
  color: #ff3149;
}
body.page_crrct .questionAnswer_body .txt {
  font-size: 1.6rem;
  line-height: 175%;
  margin-top: 0.6rem;
  text-align: justify;
}
body.page_crrct .questionAnswer_body .questionAnswer_beginner {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #0ca6ff;
  padding: 2rem 3rem 2.3rem 3rem;
  margin-top: 1.3rem;
  border-radius: 1.3rem;
}
body.page_crrct .questionAnswer_body .questionAnswer_beginner .beginner-txt {
  font-weight: 800;
  font-size: 2.533rem;
  line-height: 120%;
  letter-spacing: 5%;
  text-align: center;
  margin-right: 1.2rem;
  color: #fff;
}
body.page_crrct .questionAnswer_body .questionAnswer_beginner .beginner-num {
  font-weight: 700;
  font-size: 7.333rem;
  margin-top: -0.4rem;
  color: #fff673;
}
body.page_crrct .questionAnswer_body .questionAnswer_beginner .beginner-num > span {
  font-weight: 600;
  font-size: 5.333rem;
  margin-left: 0.7rem;
}
body.page_crrct .questionAnswer_body .list {
  margin-top: 2.5rem;
  margin-bottom: 1.1rem;
}
body.page_crrct .questionAnswer_body .list li + li {
  margin-top: 6.2rem;
}
body.page_crrct .questionAnswer_body .list .list_head {
  display: flex;
  padding: 1.1rem 1rem;
  background-color: #003273;
  color: #fff;
}
body.page_crrct .questionAnswer_body .list .list_head-time {
  position: relative;
  font-weight: 800;
  font-size: 1.867rem;
  letter-spacing: 5%;
  padding: 0.6rem 0;
  min-width: 8rem;
  width: 8rem;
}
body.page_crrct .questionAnswer_body .list .list_head-time:after {
  content: "";
  position: absolute;
  width: 0.3rem;
  height: 100%;
  top: 0;
  right: 0;
  background-image: url(/img/creator-recruit/crrct_question_sepa.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
body.page_crrct .questionAnswer_body .list .list_head-ttl {
  font-weight: 800;
  font-size: 1.867rem;
  letter-spacing: 5%;
  padding: 0.6rem 0 0.6rem 2.1rem;
}
body.page_crrct .questionAnswer_body .list .list_body {
  margin-top: 1.3rem;
  display: flex;
  align-items: center;
}
body.page_crrct .questionAnswer_body .list .list_body-imgWrap {
  position: relative;
  min-width: 17.7rem;
  width: 17.7rem;
}
body.page_crrct .questionAnswer_body .list .list_body-imgBox {
  width: 12.8rem;
  height: auto;
  aspect-ratio: 128/164;
  overflow: hidden;
}
body.page_crrct .questionAnswer_body .list .list_body-imgBox img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.page_crrct .questionAnswer_body .list .list_body-time {
  position: absolute;
  width: 12.5rem;
  bottom: -3.8rem;
  right: -0.5rem;
}
body.page_crrct .questionAnswer_body .list .list_body-txtWrap {
  margin-top: 0.7rem;
}
body.page_crrct .questionAnswer_body .list .list_body-leading {
  font-weight: 800;
  font-size: 1.6rem;
  color: #0ca6ff;
  line-height: 130%;
  letter-spacing: 5%;
}
body.page_crrct .questionAnswer_body .list .list_body-txt {
  font-size: 1.6rem;
  line-height: 130%;
  letter-spacing: 5%;
  margin-top: 0.6rem;
  color: #000;
  text-align: justify;
}
body.page_crrct .questionAnswer_closeBtn {
  font-size: 2.3rem;
  padding: 3.2rem 8rem;
  border-color: #003273;
  box-shadow: -0.1rem 0.5rem 0 0.1rem #003273;
  color: #003273;
  margin-top: 3.7rem;
}
body.page_crrct .questionAnswer_follow {
  position: fixed;
  inset: 0;
  z-index: 99;
  opacity: 0;
  pointer-events: none !important;
  z-index: 100;
}
body.page_crrct .questionAnswer_follow .cmn_center_block {
  width: 100%;
  height: 100svh;
  position: relative;
}
body.page_crrct .questionAnswer_closeIcon {
  position: absolute;
  width: 5.8rem;
  height: auto;
  aspect-ratio: 1/1;
  top: 3.9rem;
  right: 0.9rem;
  pointer-events: auto;
}
body.page_crrct .questionAnswer_closeIcon path {
  fill: #003273;
}/*# sourceMappingURL=style.css.map */