@charset "UTF-8";
html {
  font-size: 10px;
  overflow-x: hidden; }

body {
  margin: 0;
  padding: 0;
  font-family: "zen-maru-gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.4;
  overflow-x: hidden;
  color: var(--black); }

:root {
  --black:#404040;
  --yellow:#F2D224;
  --pink1:#FA98BB;
  --pink2:#FA508C;
  --blue:#93EAE3;
  --green:#6EEFBC; }

h1, h2, h3, p, a {
  margin: 0;
  padding: 0; }

a {
  text-decoration: none;
  transition: all .3s;
  cursor: pointer; }
  a:hover {
    opacity: .6; }

.fv_wrap {
  height: 610px;
  width: 100vw;
  background-color: var(--pink1);
  position: relative; }
  .fv_wrap:before {
    content: "";
    width: 66px;
    height: 66px;
    background-image: url("../images/sparkle_p.webp");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    bottom: -110px;
    left: calc(50% - 180px); }
  .fv_wrap:after {
    content: "";
    width: 66px;
    height: 66px;
    background-image: url("../images/sparkle_p.webp");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    bottom: -110px;
    right: calc(50% - 180px);
    transform: scale(-1, 1); }

header {
  width: 100vw;
  height: 60px;
  display: flex;
  justify-content: center;
  margin-bottom: 100px;
  position: relative;
  z-index: 1; }
  header .header_inner {
    width: calc(100% - 20px);
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    header .header_inner .header_logo {
      width: 190px;
      height: 100%;
      margin-left: -3px; }
      header .header_inner .header_logo img {
        width: 100%;
        height: auto; }
    header .header_inner .header_cta {
      width: 140px;
      height: 50px;
      border: solid 3px var(--black);
      background-color: var(--yellow);
      color: var(--black);
      font-size: 2.4rem;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      margin-top: -10px; }
      header .header_inner .header_cta::before {
        content: "";
        width: 140px;
        height: 100%;
        background-color: var(--black);
        border: solid 3px var(--black);
        position: absolute;
        bottom: -6px;
        left: 0;
        z-index: -1; }
      header .header_inner .header_cta:hover {
        opacity: 1;
        color: #757575; }

.fv_wave {
  width: 82px;
  height: auto;
  position: absolute; }

.wave_1 {
  top: 30px;
  right: 10px; }

.wave_2 {
  top: 200px;
  left: -30px; }

.wave_3 {
  top: 300px;
  right: -20px; }

.wave_4 {
  display: none; }

.fv_sparcle_pink {
  width: 45px;
  height: auto;
  position: absolute; }

.sp_1 {
  top: 305px;
  left: 20px; }

.sp_2 {
  top: 225px;
  right: 120px;
  transform: scale(-1, 1); }

.fv_sparcle_white {
  width: 48px;
  height: auto;
  position: absolute; }

.sp_3 {
  top: 460px;
  left: 10px; }

.sp_4 {
  top: 480px;
  right: 10px; }

.shooting {
  display: none; }

h1 {
  width: 320px;
  position: absolute;
  top: 90px;
  left: calc(50% - 160px);
  animation: h1 1.5s ease; }
  h1 img {
    width: 100%;
    height: auto; }

@keyframes h1 {
  0% {
    opacity: 0;
    transform: translateY(20px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
.fv_circle {
  width: 86px;
  height: 86px;
  border-radius: 50%;
  border: solid 3px var(--black);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  background: #fff;
  position: absolute;
  font-size: 1.1rem;
  box-sizing: border-box;
  z-index: 2; }
  .fv_circle p {
    margin-bottom: 10px; }

.c_game {
  top: 220px;
  left: 30px; }
  .c_game img {
    width: 36px;
    height: auto;
    margin-bottom: 4px; }

.c_vtuber {
  top: 300px;
  left: 90px; }
  .c_vtuber img {
    width: 28px;
    height: auto;
    margin-bottom: 1px; }

.c_manga {
  top: 360px;
  left: 10px; }
  .c_manga img {
    width: 50px;
    height: auto;
    margin-bottom: 5px; }

.c_anime {
  top: 220px;
  right: 30px; }
  .c_anime img {
    width: 44px;
    height: auto;
    margin-bottom: 6px; }

.c_streaming {
  top: 300px;
  right: 90px;
  font-size: .9rem; }
  .c_streaming img {
    width: 38px;
    height: auto;
    margin-bottom: 9px; }

.c_tv {
  top: 360px;
  right: 10px; }
  .c_tv img {
    width: 43px;
    height: auto;
    margin-bottom: 5px; }

.c_back {
  width: 86px;
  height: 86px;
  border-radius: 50%;
  background-color: var(--pink2);
  position: absolute; }

.c_game_back {
  top: 223px;
  left: 33px; }

.c_vtuber_back {
  top: 303px;
  left: 93px; }

.c_manga_back {
  top: 363px;
  left: 13px; }

.c_anime_back {
  top: 223px;
  right: 27px; }

.c_streaming_back {
  top: 303px;
  right: 87px; }

.c_tv_back {
  top: 363px;
  right: 7px; }

.mv {
  width: 190px;
  height: auto;
  position: absolute;
  top: 380px;
  left: calc(50% - 95px);
  animation: mv 1.5s ease; }

@keyframes mv {
  0% {
    opacity: 0;
    transform: translateY(20px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
.fv_fl {
  width: 116px;
  height: 116px;
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 1.1rem;
  line-height: 1.1;
  animation: fv_fl 2s infinite; }
  .fv_fl span {
    color: var(--pink2);
    display: inline-block; }

@keyframes fv_fl {
  0% {
    transform: rotate(0deg); }
  33% {
    transform: rotate(10deg); }
  66% {
    transform: rotate(-10deg); } }
.fl_1 {
  background-image: url("../images/flower_y.webp");
  top: 540px;
  left: calc(50% - 180px); }
  .fl_1 span {
    font-size: 2rem;
    padding-top: 3px; }

.fl_2 {
  background-image: url("../images/flower_g.webp");
  top: 540px;
  right: calc(50% - 180px); }
  .fl_2 span {
    font-size: 2.8rem;
    padding-top: 6px; }

main {
  background-image: url("../images/back_dot.webp");
  background-repeat: repeat;
  background-size: 150%;
  background-position: top;
  width: 100vw;
  padding-top: 160px; }
  main p {
    font-size: 1.4rem;
    color: var(--black); }
    main p span {
      border-bottom: solid 3px #F2D224; }

h2 {
  width: 340px;
  height: 44px;
  font-size: 1.6rem;
  border: solid 3px var(--black);
  border-radius: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box; }

.h2_back {
  width: 340px;
  height: 44px;
  font-size: 1.6rem;
  border: solid 3px var(--black);
  border-radius: 30px;
  box-sizing: border-box; }

.section_inner {
  width: calc(100% - 20px);
  margin: 0 auto;
  background-color: #fff;
  padding: 50px 16px 40px 16px;
  box-sizing: border-box;
  position: relative; }

.float {
  display: none; }

.jobs {
  width: calc(100% - 20px);
  margin: 0 auto 100px auto;
  position: relative;
  max-width: 450px; }
  .jobs:before {
    content: "";
    width: 116px;
    height: 116px;
    background-image: url("../images/flower_y.webp");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    top: -70px;
    left: calc(50% - 58px); }
  .jobs .jobs_wrap {
    width: 100%;
    border: solid 3px var(--black);
    background-color: var(--pink1); }
    .jobs .jobs_wrap .h2_back {
      position: absolute;
      top: -18px;
      left: calc(50% - 167px);
      z-index: 1;
      background-color: var(--blue); }
    .jobs .jobs_wrap h2 {
      position: absolute;
      top: -20px;
      left: calc(50% - 170px);
      z-index: 1;
      background-color: var(--blue); }
    .jobs .jobs_wrap h3 {
      font-size: 1.4rem;
      color: #fff;
      width: 100px;
      height: 50px;
      background-image: url("../images/h3_back.webp");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      text-align: center;
      line-height: 50px;
      margin: 24px auto;
      position: relative;
      z-index: 1; }
      .jobs .jobs_wrap h3:before {
        content: "";
        width: 260px;
        height: 6px;
        border-radius: 4px;
        background-color: var(--pink1);
        position: absolute;
        top: 22px;
        left: calc(50% - 130px);
        z-index: -1; }
    .jobs .jobs_wrap .jobs_flex {
      width: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 10px;
      margin-bottom: 30px; }
      .jobs .jobs_wrap .jobs_flex .jobs_items {
        width: 100%;
        padding: 30px 10px;
        box-sizing: border-box;
        border: solid 3px var(--black);
        display: flex;
        align-items: center;
        justify-content: center; }
        .jobs .jobs_wrap .jobs_flex .jobs_items .img_wrap {
          width: 120px;
          position: relative;
          z-index: 1;
          margin-right: 10px; }
          .jobs .jobs_wrap .jobs_flex .jobs_items .img_wrap .jobs_img {
            width: 100%;
            height: auto;
            z-index: 1;
            display: block; }
          .jobs .jobs_wrap .jobs_flex .jobs_items .img_wrap:before {
            content: "";
            width: 90px;
            height: 90px;
            border-radius: 50%;
            position: absolute;
            top: -5px;
            left: calc(50% - 45px);
            background-color: #DBFCF9;
            z-index: -1; }
        .jobs .jobs_wrap .jobs_flex .jobs_items .jobs_items_text {
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center; }
          .jobs .jobs_wrap .jobs_flex .jobs_items .jobs_items_text .jobs_items_p {
            font-size: 1.6rem;
            color: var(--pink2);
            line-height: 1.2;
            margin-bottom: 16px; }
          .jobs .jobs_wrap .jobs_flex .jobs_items .jobs_items_text .jobs_items_b {
            font-size: 1.4rem;
            width: 140px;
            height: 24px;
            background-color: var(--blue);
            text-align: center;
            line-height: 24px;
            border-radius: 20px; }

.question {
  width: calc(100% - 20px);
  margin: 0 auto 20px auto;
  position: relative;
  max-width: 450px; }
  .question:before {
    content: "";
    width: 116px;
    height: 116px;
    background-image: url("../images/flower_g.webp");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    top: -70px;
    left: calc(50% - 58px); }
  .question .question_wrap {
    width: 100%;
    border: solid 3px var(--black);
    background-color: var(--blue); }
    .question .question_wrap .h2_back {
      position: absolute;
      top: -18px;
      left: calc(50% - 167px);
      z-index: 1;
      background-color: #F0A5F0; }
    .question .question_wrap h2 {
      position: absolute;
      top: -20px;
      left: calc(50% - 170px);
      z-index: 1;
      background-color: #F0A5F0; }
    .question .question_wrap .question_flex {
      width: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center; }
      .question .question_wrap .question_flex .question_items {
        width: 100%;
        display: flex;
        align-items: flex-end;
        justify-content: center; }
        .question .question_wrap .question_flex .question_items:last-child {
          flex-direction: row-reverse; }
        .question .question_wrap .question_flex .question_items img {
          width: 134px;
          height: auto; }
        .question .question_wrap .question_flex .question_items p {
          width: 145px;
          padding: 20px 10px;
          box-sizing: border-box;
          font-size: 1.6rem;
          line-height: 1.2;
          position: relative; }
        .question .question_wrap .question_flex .question_items .question_p_p {
          background-color: var(--pink1);
          margin-left: 20px; }
          .question .question_wrap .question_flex .question_items .question_p_p:before {
            content: "";
            width: 0;
            height: 0;
            border-style: solid;
            border-top: 8px solid transparent;
            border-bottom: 8px solid transparent;
            border-right: 16px solid var(--pink1);
            border-left: 0;
            position: absolute;
            left: -16px;
            top: 80px; }
        .question .question_wrap .question_flex .question_items .question_p_b {
          background-color: var(--blue);
          margin-right: 20px; }
          .question .question_wrap .question_flex .question_items .question_p_b:before {
            content: "";
            width: 0;
            height: 0;
            border-style: solid;
            border-top: 8px solid transparent;
            border-bottom: 8px solid transparent;
            border-left: 16px solid var(--blue);
            border-right: 0;
            position: absolute;
            right: -16px;
            top: 80px; }
      .question .question_wrap .question_flex .sp_dot {
        width: 210px;
        height: auto;
        margin: 20px auto; }

.tab_dot {
  display: none; }

.cta {
  width: 100vw;
  height: 110px;
  background-color: var(--pink1);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  margin: 40px auto; }
  .cta::before {
    content: "";
    width: 130px;
    height: 130px;
    background-image: url("../images/star_p.webp");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -30px;
    left: -60px; }
  .cta::after {
    content: "";
    width: 130px;
    height: 130px;
    background-image: url("../images/star_p.webp");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: -20px;
    right: -50px; }
  .cta a {
    width: 300px;
    height: 42px;
    border: solid 3px var(--black);
    border-radius: 9px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--yellow);
    font-size: 1.8rem;
    color: var(--black);
    position: relative;
    box-sizing: border-box;
    z-index: 1;
    box-shadow: 0 4px 0 var(--black);
    transition: all .3s; }
    .cta a:hover {
      transform: translateY(4px);
      box-shadow: none; }

.voice {
  width: calc(100% - 20px);
  margin: 70px auto 40px auto;
  position: relative;
  padding: 80px 0 20px 0;
  max-width: 450px; }
  .voice .h2_back {
    position: absolute;
    top: -18px;
    left: calc(50% - 167px);
    z-index: 1;
    background-color: var(--blue); }
  .voice h2 {
    position: absolute;
    top: -20px;
    left: calc(50% - 170px);
    z-index: 1;
    background-color: var(--blue); }
  .voice .voice_flex {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 40px; }
    .voice .voice_flex .voice_items {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 40px 20px 30px 20px;
      border: solid 3px var(--black);
      background-color: #fff;
      border-radius: 50px;
      box-sizing: border-box;
      position: relative;
      box-shadow: 0 4px 0 var(--black); }
      .voice .voice_flex .voice_items:nth-child(1):before {
        content: "01";
        width: 44px;
        height: 44px;
        background-color: #F0A5F0;
        border-radius: 50%;
        border: dotted 3px var(--black);
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: -28px;
        left: calc(50% - 22px);
        font-size: 2rem; }
      .voice .voice_flex .voice_items:nth-child(2):before {
        content: "02";
        width: 44px;
        height: 44px;
        background-color: #F0A5F0;
        border-radius: 50%;
        border: dotted 3px var(--black);
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: -28px;
        left: calc(50% - 22px);
        font-size: 2rem; }
      .voice .voice_flex .voice_items:nth-child(3):before {
        content: "03";
        width: 44px;
        height: 44px;
        background-color: #F0A5F0;
        border-radius: 50%;
        border: dotted 3px var(--black);
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: -28px;
        left: calc(50% - 22px);
        font-size: 2rem; }
      .voice .voice_flex .voice_items img {
        width: 96px;
        height: auto;
        margin-right: 10px; }
      .voice .voice_flex .voice_items .before_p {
        font-size: 1.2rem; }
      .voice .voice_flex .voice_items .voice_tri {
        width: 0;
        height: 0;
        border-style: solid;
        border-right: 5px solid transparent;
        border-left: 5px solid transparent;
        border-top: 8px solid var(--black);
        border-bottom: 0;
        margin: 4px auto 4px 10px; }
      .voice .voice_flex .voice_items .after_p {
        font-size: 1.6rem;
        color: var(--pink2);
        margin-bottom: 10px; }

.wave_green {
  width: 100vw;
  height: 36px;
  background-image: url("../images/wave_sepa_1.webp");
  background-size: cover;
  background-repeat: repeat-x;
  background-position: bottom;
  margin-bottom: -1px; }

.about {
  width: 100vw;
  padding: 100px 38px 80px 38px;
  box-sizing: border-box;
  background-color: var(--green);
  position: relative;
  z-index: 1;
  overflow: hidden; }
  .about .flower_w {
    position: absolute;
    width: 186px;
    height: auto;
    z-index: -1; }
  .about .w1 {
    top: 260px;
    right: -20px; }
  .about .w2 {
    top: 510px;
    left: -20px; }
  .about .w3 {
    top: 800px;
    right: -20px; }
  .about .h2_back {
    position: absolute;
    top: 30px;
    left: calc(50% - 167px);
    z-index: 1;
    background-color: var(--pink1); }
  .about h2 {
    position: absolute;
    top: 28px;
    left: calc(50% - 170px);
    z-index: 1;
    background-color: var(--pink1); }
  .about .about_inner {
    width: 100%;
    max-width: 450px;
    margin: 0 auto; }
  .about .about_flex {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 40px;
    align-items: center;
    justify-content: center;
    margin-top: 60px; }
    .about .about_flex .about_items {
      width: 100%;
      padding: 10px;
      background-color: var(--yellow);
      border: solid 3px var(--black);
      position: relative; }
      .about .about_flex .about_items:nth-child(1)::before {
        content: "POINT01";
        width: 160px;
        height: 42px;
        display: block;
        background-image: url("../images/ribbon.webp");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        text-align: center;
        line-height: 42px;
        font-size: 2.4rem;
        font-weight: 900;
        position: absolute;
        top: -20px;
        left: calc(50% - 80px);
        color: #fff; }
      .about .about_flex .about_items:nth-child(2)::before {
        content: "POINT02";
        width: 160px;
        height: 42px;
        display: block;
        background-image: url("../images/ribbon.webp");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        text-align: center;
        line-height: 42px;
        font-size: 2.4rem;
        font-weight: 900;
        position: absolute;
        top: -20px;
        left: calc(50% - 80px);
        color: #fff; }
      .about .about_flex .about_items:nth-child(3)::before {
        content: "POINT03";
        width: 160px;
        height: 42px;
        display: block;
        background-image: url("../images/ribbon.webp");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        text-align: center;
        line-height: 42px;
        font-size: 2.4rem;
        font-weight: 900;
        position: absolute;
        top: -20px;
        left: calc(50% - 80px);
        color: #fff; }
      .about .about_flex .about_items .about_inner {
        width: 100%;
        background-color: #fff;
        padding: 20px 16px;
        box-sizing: border-box; }
        .about .about_flex .about_items .about_inner h3 {
          font-size: 1.6rem;
          text-align: center;
          line-height: 1.2;
          margin-bottom: 20px; }
          .about .about_flex .about_items .about_inner h3 span {
            font-size: 2.4rem;
            color: var(--pink2); }
            .about .about_flex .about_items .about_inner h3 span span {
              font-size: 3.5rem; }
          .about .about_flex .about_items .about_inner h3 .size30 {
            font-size: 3rem; }

.cta_bottom {
  margin: 0; }

.flow {
  padding: 150px 38px 40px 38px;
  position: relative;
  width: 100%;
  box-sizing: border-box; }
  .flow .h2_back {
    position: absolute;
    top: 47px;
    left: calc(50% - 167px);
    z-index: 1;
    background-color: #FECA74; }
  .flow h2 {
    position: absolute;
    top: 45px;
    left: calc(50% - 170px);
    z-index: 1;
    background-color: #FECA74; }
  .flow .flow_flex {
    width: 100%;
    max-width: 400px;
    flex-direction: column;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin: 0 auto; }
    .flow .flow_flex .flow_items {
      width: 100%;
      display: flex;
      align-items: center;
      position: relative;
      z-index: 1; }
      .flow .flow_flex .flow_items .flow_icon {
        width: 70px;
        height: 70px;
        border-radius: 50%;
        border: #E59A35 solid 4px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #fff;
        position: relative; }
      .flow .flow_flex .flow_items .icon_1 img {
        width: 38px;
        height: auto; }
      .flow .flow_flex .flow_items .icon_2 img {
        width: 44px;
        height: auto; }
      .flow .flow_flex .flow_items .icon_3 img {
        width: 38px;
        height: auto; }
      .flow .flow_flex .flow_items .icon_4 img {
        width: 43px;
        height: auto; }
      .flow .flow_flex .flow_items .icon_1::before {
        content: "01";
        font-size: 3rem;
        position: absolute;
        top: -36px;
        left: 22px;
        color: #E59A35; }
      .flow .flow_flex .flow_items .icon_2::before {
        content: "02";
        font-size: 3rem;
        position: absolute;
        top: -36px;
        left: 22px;
        color: #E59A35; }
      .flow .flow_flex .flow_items .icon_3::before {
        content: "03";
        font-size: 3rem;
        position: absolute;
        top: -36px;
        left: 22px;
        color: #E59A35; }
      .flow .flow_flex .flow_items .icon_4::before {
        content: "04";
        font-size: 3rem;
        position: absolute;
        top: -36px;
        left: 22px;
        color: #E59A35; }
      .flow .flow_flex .flow_items .flow_text {
        width: calc(100% - 30px);
        height: 30px;
        border-radius: 20px;
        background-color: #E59A35;
        color: #fff;
        font-size: 1.6rem;
        margin-left: -20px;
        position: absolute;
        top: 23px;
        left: 50px;
        z-index: -1;
        display: flex;
        justify-content: center;
        align-items: center; }
    .flow .flow_flex .flow_items:nth-child(even) {
      flex-direction: row-reverse; }
      .flow .flow_flex .flow_items:nth-child(even) .flow_text {
        left: auto;
        right: 50px; }
    .flow .flow_flex .flow_items:nth-child(1)::before {
      content: "";
      width: 30px;
      height: 40px;
      background-image: url("../images/flow_dot.webp");
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      position: absolute;
      bottom: -26px;
      left: calc(50% - 15px); }
    .flow .flow_flex .flow_items:nth-child(2)::before {
      content: "";
      width: 30px;
      height: 40px;
      background-image: url("../images/flow_dot.webp");
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      position: absolute;
      transform: scaleX(-1);
      bottom: -26px;
      left: calc(50% - 15px); }
    .flow .flow_flex .flow_items:nth-child(3)::before {
      content: "";
      width: 30px;
      height: 40px;
      background-image: url("../images/flow_dot.webp");
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      position: absolute;
      bottom: -26px;
      left: calc(50% - 15px); }

.wave_yellow {
  width: 100vw;
  height: 36px;
  background-image: url("../images/wave_sepa_2.webp");
  background-size: cover;
  background-repeat: repeat-x;
  background-position: bottom; }

.faq {
  padding: 120px 0 80px 0;
  position: relative;
  width: 100%;
  box-sizing: border-box;
  background: #F2D224;
  background: linear-gradient(0deg, #f2d224 0%, #fff7ce 100%);
  /* カルーセルアイテムヘッダーのスタイル */
  /* プラスマイナスアイコンのスタイル */
  /* アクティブ時のプラスマイナスアイコンのアニメーション */
  /* カルーセルアイテムコンテンツのスタイル */
  /* アクティブ時のコンテンツのスタイル */ }
  .faq .h2_back {
    position: absolute;
    top: 47px;
    left: calc(50% - 167px);
    z-index: 1;
    background-color: #F0A5F0; }
  .faq h2 {
    position: absolute;
    top: 45px;
    left: calc(50% - 170px);
    z-index: 1;
    background-color: #F0A5F0; }
  .faq .faq_flex {
    width: calc(100% - 20px);
    max-width: 450px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0 auto; }
  .faq .carousel-item {
    border: 3px solid var(--black);
    border-radius: 6px;
    /* rounded-lg */
    overflow: hidden;
    font-family: "zen-maru-gothic", sans-serif;
    font-weight: 700;
    font-style: normal; }
  .faq .carousel-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 1rem;
    /* p-4 */
    background-color: #fff;
    /* bg-gray-50 */
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease-in-out;
    font-family: "zen-maru-gothic", sans-serif;
    font-weight: 700;
    font-style: normal; }
  .faq .carousel-item-header:hover {
    background-color: #f3f4f6;
    /* hover:bg-gray-100 */ }
  .faq .carousel-item-header:focus {
    outline: none;
    /* focus:outline-none */ }
  .faq .carousel-item-header span {
    font-size: 1.6rem;
    /* text-lg */
    color: var(--black);
    /* text-gray-700 */
    text-align: left;
    flex-grow: 1;
    /* テキストが広がるように */
    margin-right: 1rem;
    /* アイコンとの間にスペース */ }
  .faq .plus-minus-icon {
    position: relative;
    width: 1.5rem;
    /* w-6 */
    height: 1.5rem;
    /* h-6 */
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease-out; }
  .faq .plus-minus-icon span {
    position: absolute;
    width: 20px;
    /* w-4 */
    height: 3px;
    /* h-0.5 */
    background-color: var(--pink2);
    /* bg-gray-600 */
    border-radius: 9999px;
    /* rounded-full */
    transition: transform 0.3s ease-out;
    /* transition-transform duration-300 ease-out */ }
  .faq .plus-minus-icon span:first-child {
    transform: rotate(0deg);
    /* 垂直線 */ }
  .faq .plus-minus-icon span:last-child {
    transform: rotate(90deg);
    /* 水平線 */ }
  .faq .carousel-item.active .plus-minus-icon span:first-child {
    transform: rotate(90deg);
    /* 垂直線を水平に */
    opacity: 0; }
  .faq .carousel-item.active .plus-minus-icon span:last-child {
    transform: rotate(0deg);
    /* 水平線はそのまま */ }
  .faq .carousel-item-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out, padding 0.3s ease-out;
    padding-left: 1rem;
    padding-right: 1rem;
    color: var(--black);
    line-height: 1.625;
    background-color: #fff; }
  .faq .carousel-item.active .carousel-item-content {
    max-height: 2000px;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem; }

@media screen and (min-width: 500px) {
  .wave_1 {
    top: 30px;
    right: calc(50% - 160px); }

  .wave_2 {
    top: 200px;
    left: calc(50% - 240px); }

  .wave_3 {
    top: 300px;
    right: calc(50% - 230px); }

  .sp_1 {
    top: 305px;
    left: calc(50% - 190px); }

  .sp_2 {
    top: 225px;
    right: calc(50% - 80px);
    transform: scale(-1, 1); }

  .sp_3 {
    top: 460px;
    left: calc(50% - 170px); }

  .sp_4 {
    top: 480px;
    right: calc(50% - 170px); }

  .c_game {
    top: 220px;
    left: calc(50% - 170px); }
    .c_game img {
      width: 36px;
      height: auto;
      margin-bottom: 4px; }

  .c_vtuber {
    top: 300px;
    left: calc(50% - 110px); }
    .c_vtuber img {
      width: 28px;
      height: auto;
      margin-bottom: 1px; }

  .c_manga {
    top: 360px;
    left: calc(50% - 190px); }
    .c_manga img {
      width: 50px;
      height: auto;
      margin-bottom: 5px; }

  .c_anime {
    top: 220px;
    right: calc(50% - 170px); }
    .c_anime img {
      width: 44px;
      height: auto;
      margin-bottom: 6px; }

  .c_streaming {
    top: 300px;
    right: calc(50% - 110px);
    font-size: .9rem; }
    .c_streaming img {
      width: 38px;
      height: auto;
      margin-bottom: 9px; }

  .c_tv {
    top: 360px;
    right: calc(50% - 190px); }
    .c_tv img {
      width: 43px;
      height: auto;
      margin-bottom: 5px; }

  .c_back {
    width: 86px;
    height: 86px;
    border-radius: 50%;
    background-color: var(--pink2);
    position: absolute; }

  .c_game_back {
    top: 223px;
    left: calc(50% - 167px); }

  .c_vtuber_back {
    top: 303px;
    left: calc(50% - 107px); }

  .c_manga_back {
    top: 363px;
    left: calc(50% - 187px); }

  .c_anime_back {
    top: 223px;
    right: calc(50% - 173px); }

  .c_streaming_back {
    top: 303px;
    right: calc(50% - 113px); }

  .c_tv_back {
    top: 363px;
    right: calc(50% - 193px); } }
@media screen and (min-width: 768px) {
  .fv_wrap {
    height: 610px;
    width: 100vw; }
    .fv_wrap:before {
      content: "";
      width: 70px;
      height: 70px;
      bottom: -120px;
      left: calc(50% - 350px); }
    .fv_wrap:after {
      content: "";
      width: 70px;
      height: 70px;
      bottom: -120px;
      right: calc(50% - 350px);
      transform: scale(-1, 1); }

  header {
    width: 100vw;
    height: 60px;
    display: flex;
    justify-content: center;
    margin-bottom: 100px;
    position: relative;
    z-index: 1; }
    header .header_inner {
      width: calc(100% - 60px);
      height: 100%;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      header .header_inner .header_logo {
        width: 190px;
        height: 100%;
        margin-left: -3px;
        display: flex;
        align-items: center; }
        header .header_inner .header_logo img {
          width: 100%;
          height: auto; }
      header .header_inner .header_cta {
        width: 140px;
        height: 50px;
        border: solid 3px var(--black);
        background-color: var(--yellow);
        color: var(--black);
        font-size: 2.4rem;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        margin-top: -10px; }
        header .header_inner .header_cta::before {
          content: "";
          width: 140px;
          height: 100%;
          background-color: var(--black);
          border: solid 3px var(--black);
          position: absolute;
          bottom: -6px;
          left: 0;
          z-index: -1; }
        header .header_inner .header_cta:hover {
          opacity: 1;
          color: #757575; }

  .fv_wave {
    width: 120px;
    height: auto;
    position: absolute; }

  .wave_1 {
    top: 0px;
    right: calc(50% + 10px); }

  .wave_2 {
    top: 483px;
    left: calc(50% - 390px); }

  .wave_3 {
    top: 480px;
    right: calc(50% - 400px); }

  .wave_4 {
    display: block;
    top: 270px;
    right: calc(50% - 100px); }

  .fv_sparcle_pink {
    width: 64px; }

  .sp_1 {
    top: 125px;
    left: calc(50% - 360px); }

  .sp_2 {
    top: 175px;
    right: calc(50% - 360px);
    transform: scale(-1, 1); }

  .sp_3 {
    top: 460px;
    left: calc(50% - 210px); }

  .sp_4 {
    top: 480px;
    right: calc(50% - 210px); }

  .fv_sparcle_white {
    width: 55px; }

  .shooting {
    display: block;
    position: absolute;
    width: 60px;
    height: auto; }

  .sh_1 {
    top: 540px;
    left: calc(50% - 360px); }

  .sh_2 {
    top: 540px;
    right: calc(50% - 360px); }

  h1 {
    width: 460px;
    position: absolute;
    top: 80px;
    left: calc(50% - 230px); }
    h1 img {
      width: 100%;
      height: auto; }

  .fv_circle {
    width: 120px;
    height: 120px;
    font-size: 1.6rem; }
    .fv_circle p {
      margin-bottom: 16px; }

  .c_game {
    top: 240px;
    left: calc(50% - 300px); }
    .c_game img {
      width: 46px;
      height: auto;
      margin-bottom: 4px; }

  .c_vtuber {
    top: 340px;
    left: calc(50% - 210px); }
    .c_vtuber img {
      width: 38px;
      height: auto;
      margin-bottom: 1px; }

  .c_manga {
    top: 370px;
    left: calc(50% - 360px); }
    .c_manga img {
      width: 60px;
      height: auto;
      margin-bottom: 5px; }

  .c_anime {
    top: 240px;
    right: calc(50% - 300px); }
    .c_anime img {
      width: 54px;
      height: auto;
      margin-bottom: 6px; }

  .c_streaming {
    top: 340px;
    right: calc(50% - 210px);
    font-size: 1.2rem; }
    .c_streaming p {
      margin-bottom: 20px; }
    .c_streaming img {
      width: 48px;
      height: auto;
      margin-bottom: 9px; }

  .c_tv {
    top: 370px;
    right: calc(50% - 360px); }
    .c_tv img {
      width: 53px;
      height: auto;
      margin-bottom: 5px; }

  .c_back {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background-color: var(--pink2);
    position: absolute; }

  .c_game_back {
    top: 243px;
    left: calc(50% - 297px); }

  .c_vtuber_back {
    top: 343px;
    left: calc(50% - 207px); }

  .c_manga_back {
    top: 373px;
    left: calc(50% - 357px); }

  .c_anime_back {
    top: 243px;
    right: calc(50% - 303px); }

  .c_streaming_back {
    top: 343px;
    right: calc(50% - 213px); }

  .c_tv_back {
    top: 373px;
    right: calc(50% - 363px); }

  .mv {
    width: 230px;
    top: 360px;
    left: calc(50% - 115px); }

  .fv_fl {
    width: 160px;
    height: 160px;
    position: absolute;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 1.5rem;
    line-height: 1.1; }
    .fv_fl span {
      color: var(--pink2);
      display: inline-block; }

  .fl_1 {
    background-image: url("../images/flower_y.webp");
    top: 540px;
    left: calc(50% - 300px); }
    .fl_1 span {
      font-size: 3rem;
      padding-top: 3px; }

  .fl_2 {
    background-image: url("../images/flower_g.webp");
    top: 540px;
    right: calc(50% - 300px); }
    .fl_2 span {
      font-size: 3.8rem;
      padding-top: 6px; }

  main {
    background-image: url("../images/back_dot.webp");
    background-repeat: repeat;
    background-size: 150%;
    background-position: top;
    width: 100vw;
    padding-top: 200px; }
    main p {
      font-size: 1.6rem; }
      main p span {
        border-bottom: solid 3px #F2D224; }

  h2 {
    width: 460px;
    height: 58px;
    font-size: 2.2rem;
    border: solid 3px var(--black);
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box; }

  .h2_back {
    width: 460px;
    height: 58px;
    font-size: 1.6rem;
    border: solid 3px var(--black);
    border-radius: 30px;
    box-sizing: border-box; }

  .section_inner {
    width: calc(100% - 40px);
    margin: 0 auto;
    background-color: #fff;
    padding: 60px 20px 60px 20px;
    box-sizing: border-box;
    position: relative; }
    .section_inner:before {
      content: "";
      width: 70px;
      height: 70px;
      background-image: url("../images/sparkle_p.webp");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      position: absolute;
      top: 100px;
      right: -110px;
      z-index: -1;
      transform: scaleX(-1); }
    .section_inner:after {
      content: "";
      width: 70px;
      height: 70px;
      background-image: url("../images/sparkle_p.webp");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      position: absolute;
      bottom: 100px;
      left: -110px;
      z-index: -1; }

  .float {
    display: block;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    border: solid 3px var(--black);
    box-shadow: 0 4px 0 var(--black);
    background-color: var(--yellow);
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1000000;
    text-align: center;
    font-size: 1.6rem;
    color: var(--black);
    display: flex;
    align-items: center;
    justify-content: center; }
    .float .float_inner {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 140px;
      border-radius: 50%;
      position: relative; }
      .float .float_inner::before {
        content: "";
        width: 80px;
        height: 80px;
        background-color: #fff;
        position: absolute;
        z-index: -1;
        top: calc(50% - 40px);
        left: calc(50% - 40px);
        border-radius: 50%; }
    .float span {
      font-size: 2.4rem; }
    .float:hover {
      transform: translateY(-6px); }

  .jobs {
    margin: 0 auto 140px auto;
    max-width: 600px;
    z-index: 1; }
    .jobs:before {
      content: "";
      width: 160px;
      height: 160px;
      background-image: url("../images/flower_y.webp");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      position: absolute;
      top: -70px;
      left: -60px;
      z-index: -1; }
    .jobs:after {
      content: "";
      width: 160px;
      height: 160px;
      background-image: url("../images/flower_g.webp");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      position: absolute;
      bottom: -70px;
      right: -60px;
      z-index: -1; }
    .jobs .jobs_wrap {
      width: 100%;
      border: solid 3px var(--black);
      background-color: var(--pink1); }
      .jobs .jobs_wrap .h2_back {
        position: absolute;
        top: -18px;
        left: calc(50% - 227px);
        z-index: 1;
        background-color: var(--blue); }
      .jobs .jobs_wrap h2 {
        position: absolute;
        top: -20px;
        left: calc(50% - 230px);
        z-index: 1;
        background-color: var(--blue); }
      .jobs .jobs_wrap h3 {
        font-size: 1.4rem;
        color: #fff;
        width: 100px;
        height: 50px;
        background-image: url("../images/h3_back.webp");
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        text-align: center;
        line-height: 50px;
        margin: 24px auto;
        position: relative;
        z-index: 1; }
        .jobs .jobs_wrap h3:before {
          content: "";
          width: 260px;
          height: 6px;
          border-radius: 4px;
          background-color: var(--pink1);
          position: absolute;
          top: 22px;
          left: calc(50% - 130px);
          z-index: -1; }
      .jobs .jobs_wrap .jobs_flex {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        margin-bottom: 30px; }
        .jobs .jobs_wrap .jobs_flex .jobs_items {
          width: 100%;
          padding: 30px 10px;
          box-sizing: border-box;
          border: solid 3px var(--black);
          display: flex;
          align-items: center;
          justify-content: center; }
          .jobs .jobs_wrap .jobs_flex .jobs_items .img_wrap {
            width: 120px;
            position: relative;
            z-index: 1;
            margin-right: 10px; }
            .jobs .jobs_wrap .jobs_flex .jobs_items .img_wrap .jobs_img {
              width: 100%;
              height: auto;
              z-index: 1;
              display: block; }
            .jobs .jobs_wrap .jobs_flex .jobs_items .img_wrap:before {
              content: "";
              width: 90px;
              height: 90px;
              border-radius: 50%;
              position: absolute;
              top: -5px;
              left: calc(50% - 45px);
              background-color: #DBFCF9;
              z-index: -1; }
          .jobs .jobs_wrap .jobs_flex .jobs_items .jobs_items_text {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center; }
            .jobs .jobs_wrap .jobs_flex .jobs_items .jobs_items_text .jobs_items_p {
              font-size: 1.6rem;
              color: var(--pink2);
              line-height: 1.2;
              margin-bottom: 16px; }
            .jobs .jobs_wrap .jobs_flex .jobs_items .jobs_items_text .jobs_items_b {
              font-size: 1.4rem;
              width: 140px;
              height: 24px;
              background-color: var(--blue);
              text-align: center;
              line-height: 24px;
              border-radius: 20px; }

  .question {
    max-width: 600px;
    z-index: 1; }
    .question:before {
      content: "";
      width: 160px;
      height: 160px;
      background-image: url("../images/flower_y.webp");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      position: absolute;
      top: -70px;
      left: -60px;
      z-index: -1; }
    .question:after {
      content: "";
      width: 160px;
      height: 160px;
      background-image: url("../images/flower_g.webp");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      position: absolute;
      bottom: -70px;
      right: -60px;
      z-index: -1; }
    .question .question_wrap {
      width: 100%;
      border: solid 3px var(--black);
      background-color: var(--blue); }
      .question .question_wrap .h2_back {
        position: absolute;
        top: -18px;
        left: calc(50% - 227px);
        z-index: 1;
        background-color: #F0A5F0; }
      .question .question_wrap h2 {
        position: absolute;
        top: -20px;
        left: calc(50% - 230px);
        z-index: 1;
        background-color: #F0A5F0; }
      .question .question_wrap .question_flex {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center; }
        .question .question_wrap .question_flex .question_items {
          width: 100%;
          display: flex;
          align-items: center;
          justify-content: center; }
          .question .question_wrap .question_flex .question_items:last-child {
            flex-direction: row-reverse;
            margin-top: -20px; }
          .question .question_wrap .question_flex .question_items img {
            width: 150px;
            height: auto; }
          .question .question_wrap .question_flex .question_items p {
            width: 330px;
            padding: 20px 10px;
            box-sizing: border-box;
            font-size: 1.6rem;
            line-height: 1.2;
            position: relative;
            margin-top: 50px; }
          .question .question_wrap .question_flex .question_items .question_p_p {
            background-color: var(--pink1);
            margin-left: 20px; }
            .question .question_wrap .question_flex .question_items .question_p_p:before {
              content: "";
              width: 0;
              height: 0;
              border-style: solid;
              border-top: 8px solid transparent;
              border-bottom: 8px solid transparent;
              border-right: 16px solid var(--pink1);
              border-left: 0;
              position: absolute;
              left: -16px;
              top: 40px; }
          .question .question_wrap .question_flex .question_items .question_p_b {
            background-color: var(--blue);
            margin-right: 20px; }
            .question .question_wrap .question_flex .question_items .question_p_b:before {
              content: "";
              width: 0;
              height: 0;
              border-style: solid;
              border-top: 8px solid transparent;
              border-bottom: 8px solid transparent;
              border-left: 16px solid var(--blue);
              border-right: 0;
              position: absolute;
              right: -16px;
              top: 40px; }
        .question .question_wrap .question_flex .sp_dot {
          width: 210px;
          height: auto;
          margin: -10px 130px 0 auto; }

  .tab_dot {
    display: block;
    width: 210px;
    height: auto;
    margin: -10px auto 0 130px; }

  .cta {
    width: 100vw;
    height: 150px;
    background-color: var(--pink1);
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
    margin: 120px auto 100px auto; }
    .cta::before {
      content: "";
      width: 130px;
      height: 130px;
      background-image: url("../images/star_p.webp");
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
      position: absolute;
      bottom: -30px;
      left: calc(50% - 430px); }
    .cta::after {
      content: "";
      width: 130px;
      height: 130px;
      background-image: url("../images/star_p.webp");
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
      position: absolute;
      top: -20px;
      right: calc(50% - 430px); }
    .cta a {
      width: 500px;
      height: 67px;
      border: solid 3px var(--black);
      border-radius: 12px;
      display: flex;
      justify-content: center;
      align-items: center;
      background-color: var(--yellow);
      font-size: 2.6rem;
      color: var(--black);
      position: relative;
      box-sizing: border-box;
      z-index: 1;
      box-shadow: 0 4px 0 var(--black);
      transition: all .3s; }
      .cta a:hover {
        transform: translateY(4px);
        box-shadow: none; }

  .voice {
    margin: 70px auto 40px auto;
    position: relative;
    padding: 120px 0 20px 0;
    max-width: 700px;
    position: relative;
    z-index: 1; }
    .voice:before {
      content: "";
      width: 70px;
      height: 70px;
      background-image: url("../images/sparkle_p.webp");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      position: absolute;
      top: 80px;
      right: -50px;
      z-index: -1;
      transform: scaleX(-1); }
    .voice:after {
      content: "";
      width: 70px;
      height: 70px;
      background-image: url("../images/sparkle_p.webp");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      position: absolute;
      bottom: 0px;
      left: -50px;
      z-index: -1; }
    .voice .h2_back {
      position: absolute;
      top: -18px;
      left: calc(50% - 227px);
      z-index: 1;
      background-color: var(--blue); }
    .voice h2 {
      position: absolute;
      top: -20px;
      left: calc(50% - 230px);
      z-index: 1;
      background-color: var(--blue); }
    .voice .voice_flex {
      width: 100%;
      display: flex;
      flex-direction: row;
      align-items: stretch;
      justify-content: center;
      gap: 20px; }
      .voice .voice_flex .voice_items {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        padding: 30px 20px 60px 20px;
        border: solid 3px var(--black);
        background-color: #fff;
        border-radius: 200px;
        box-sizing: border-box;
        position: relative;
        z-index: 1; }
        .voice .voice_flex .voice_items:nth-child(1):before {
          content: "01";
          width: 44px;
          height: 44px;
          background-color: #F0A5F0;
          border-radius: 50%;
          border: dotted 3px var(--black);
          display: flex;
          align-items: center;
          justify-content: center;
          position: absolute;
          top: -28px;
          left: calc(50% - 22px);
          font-size: 2rem; }
        .voice .voice_flex .voice_items:nth-child(2):before {
          content: "02";
          width: 44px;
          height: 44px;
          background-color: #F0A5F0;
          border-radius: 50%;
          border: dotted 3px var(--black);
          display: flex;
          align-items: center;
          justify-content: center;
          position: absolute;
          top: -28px;
          left: calc(50% - 22px);
          font-size: 2rem; }
        .voice .voice_flex .voice_items:nth-child(3):before {
          content: "03";
          width: 44px;
          height: 44px;
          background-color: #F0A5F0;
          border-radius: 50%;
          border: dotted 3px var(--black);
          display: flex;
          align-items: center;
          justify-content: center;
          position: absolute;
          top: -28px;
          left: calc(50% - 22px);
          font-size: 2rem; }
        .voice .voice_flex .voice_items img {
          width: 137px;
          height: auto;
          margin-right: 0; }
        .voice .voice_flex .voice_items .before_p {
          font-size: 1.2rem;
          text-align: center;
          margin-top: 10px; }
        .voice .voice_flex .voice_items .voice_tri {
          width: 0;
          height: 0;
          border-style: solid;
          border-right: 5px solid transparent;
          border-left: 5px solid transparent;
          border-top: 8px solid var(--black);
          border-bottom: 0;
          margin: 10px auto; }
        .voice .voice_flex .voice_items .after_p {
          font-size: 1.6rem;
          color: var(--pink2);
          margin-bottom: 10px;
          text-align: center;
          height: 40px;
          line-height: 1.2; }
        .voice .voice_flex .voice_items .voice_p {
          text-align: justify; }

  .wave_green {
    width: 100vw;
    height: 36px;
    background-image: url("../images/wave_sepa_1.webp");
    background-size: contain;
    background-repeat: repeat-x;
    background-position: bottom; }

  .about {
    width: 100vw;
    padding: 120px 20px 80px 20px;
    box-sizing: border-box;
    background-color: var(--green);
    position: relative;
    z-index: 1;
    overflow: hidden; }
    .about .flower_w {
      position: absolute;
      width: 186px;
      height: auto;
      z-index: -1; }
    .about .w1 {
      top: 50px;
      right: -60px; }
    .about .w2 {
      top: 170px;
      left: -60px; }
    .about .w3 {
      top: 470px;
      right: 60px; }
    .about .h2_back {
      position: absolute;
      top: 30px;
      left: calc(50% - 227px);
      z-index: 1;
      background-color: var(--pink1); }
    .about h2 {
      position: absolute;
      top: 28px;
      left: calc(50% - 230px);
      z-index: 1;
      background-color: var(--pink1); }
    .about .about_p {
      max-width: 600px;
      margin: 0 auto; }
    .about .about_inner {
      width: 100%;
      max-width: 708px;
      margin: 0 auto; }
    .about .about_flex {
      width: 100%;
      display: flex;
      flex-direction: row;
      gap: 10px;
      align-items: stretch;
      justify-content: center;
      margin-top: 60px; }
      .about .about_flex .about_items {
        width: 100%;
        padding: 5px;
        background-color: var(--yellow);
        border: solid 3px var(--black);
        position: relative;
        box-sizing: border-box; }
        .about .about_flex .about_items:nth-child(1)::before {
          content: "POINT01";
          width: 160px;
          height: 42px;
          display: block;
          background-image: url("../images/ribbon.webp");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center;
          text-align: center;
          line-height: 42px;
          font-size: 2.4rem;
          font-weight: 900;
          position: absolute;
          top: -20px;
          left: calc(50% - 80px);
          color: #fff; }
        .about .about_flex .about_items:nth-child(2)::before {
          content: "POINT02";
          width: 160px;
          height: 42px;
          display: block;
          background-image: url("../images/ribbon.webp");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center;
          text-align: center;
          line-height: 42px;
          font-size: 2.4rem;
          font-weight: 900;
          position: absolute;
          top: -20px;
          left: calc(50% - 80px);
          color: #fff; }
        .about .about_flex .about_items:nth-child(3)::before {
          content: "POINT03";
          width: 160px;
          height: 42px;
          display: block;
          background-image: url("../images/ribbon.webp");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center;
          text-align: center;
          line-height: 42px;
          font-size: 2.4rem;
          font-weight: 900;
          position: absolute;
          top: -20px;
          left: calc(50% - 80px);
          color: #fff; }
        .about .about_flex .about_items .about_inner {
          width: 100%;
          height: 100%;
          background-color: #fff;
          padding: 20px 16px;
          box-sizing: border-box; }
          .about .about_flex .about_items .about_inner h3 {
            font-size: 1.6rem;
            text-align: center;
            line-height: 1.2;
            margin-bottom: 20px; }
            .about .about_flex .about_items .about_inner h3 span {
              font-size: 2.4rem;
              color: var(--pink2); }
              .about .about_flex .about_items .about_inner h3 span span {
                font-size: 3.5rem; }
            .about .about_flex .about_items .about_inner h3 .size30 {
              font-size: 2.4rem;
              display: inline-block;
              margin-top: 10px;
              margin-bottom: 4px; }

  .cta_bottom {
    margin: 0; }

  .flow {
    padding: 200px 38px 40px 38px;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    z-index: 1; }
    .flow:before {
      content: "";
      width: 110px;
      height: 110px;
      background-image: url("../images/sparkle_o.webp");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      position: absolute;
      top: 200px;
      left: -20px; }
    .flow:after {
      content: "";
      width: 110px;
      height: 110px;
      background-image: url("../images/sparkle_o.webp");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      position: absolute;
      bottom: 50px;
      right: -20px;
      transform: scaleX(-1); }
    .flow .h2_back {
      position: absolute;
      top: 70px;
      left: calc(50% - 227px);
      z-index: 1;
      background-color: #FECA74; }
    .flow h2 {
      position: absolute;
      top: 70px;
      left: calc(50% - 230px);
      z-index: 1;
      background-color: #FECA74; }
    .flow .flow_flex {
      width: 100%;
      max-width: 500px;
      flex-direction: column;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 20px;
      margin: 0 auto; }
      .flow .flow_flex .flow_items {
        width: 100%;
        display: flex;
        align-items: center;
        position: relative;
        z-index: 1; }
        .flow .flow_flex .flow_items .flow_icon {
          width: 120px;
          height: 120px;
          border-radius: 50%;
          border: #E59A35 solid 4px;
          display: flex;
          justify-content: center;
          align-items: center;
          background-color: #fff; }
        .flow .flow_flex .flow_items .icon_1 img {
          width: 63px;
          height: auto;
          margin-right: 10px; }
        .flow .flow_flex .flow_items .icon_2 img {
          width: 70px;
          height: auto; }
        .flow .flow_flex .flow_items .icon_3 img {
          width: 60px;
          height: auto; }
        .flow .flow_flex .flow_items .icon_4 img {
          width: 72px;
          height: auto; }
        .flow .flow_flex .flow_items .icon_1::before {
          content: "01";
          font-size: 3.6rem;
          position: absolute;
          top: -43px;
          left: 44px;
          color: #E59A35; }
        .flow .flow_flex .flow_items .icon_2::before {
          content: "02";
          font-size: 3.6rem;
          position: absolute;
          top: -43px;
          left: 44px;
          color: #E59A35; }
        .flow .flow_flex .flow_items .icon_3::before {
          content: "03";
          font-size: 3.6rem;
          position: absolute;
          top: -43px;
          left: 44px;
          color: #E59A35; }
        .flow .flow_flex .flow_items .icon_4::before {
          content: "04";
          font-size: 3.6rem;
          position: absolute;
          top: -43px;
          left: 44px;
          color: #E59A35; }
        .flow .flow_flex .flow_items .flow_text {
          width: calc(100% - 70px);
          height: 50px;
          border-radius: 30px;
          background-color: #E59A35;
          color: #fff;
          font-size: 2.4rem;
          margin-left: -20px;
          position: absolute;
          top: 40px;
          left: 80px;
          z-index: -1;
          display: flex;
          justify-content: center;
          align-items: center; }
      .flow .flow_flex .flow_items:nth-child(even) {
        flex-direction: row-reverse; }
        .flow .flow_flex .flow_items:nth-child(even) .flow_text {
          left: auto;
          right: 50px; }
      .flow .flow_flex .flow_items:nth-child(1)::before {
        content: "";
        width: 40px;
        height: 60px;
        background-image: url("../images/flow_dot.webp");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        position: absolute;
        bottom: -36px;
        left: calc(50% - 20px); }
      .flow .flow_flex .flow_items:nth-child(2)::before {
        content: "";
        width: 40px;
        height: 60px;
        background-image: url("../images/flow_dot.webp");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        position: absolute;
        transform: scaleX(-1);
        bottom: -36px;
        left: calc(50% - 20px); }
      .flow .flow_flex .flow_items:nth-child(3)::before {
        content: "";
        width: 40px;
        height: 60px;
        background-image: url("../images/flow_dot.webp");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        position: absolute;
        bottom: -36px;
        left: calc(50% - 20px); }

  .wave_yellow {
    width: 100vw;
    height: 36px;
    background-image: url("../images/wave_sepa_2.webp");
    background-size: contain;
    background-repeat: repeat-x;
    background-position: bottom; }

  .faq {
    padding: 160px 0 100px 0;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    background: #F2D224;
    background: linear-gradient(0deg, #f2d224 0%, #fff7ce 100%);
    /* カルーセルアイテムヘッダーのスタイル */
    /* プラスマイナスアイコンのスタイル */
    /* アクティブ時のプラスマイナスアイコンのアニメーション */
    /* カルーセルアイテムコンテンツのスタイル */
    /* アクティブ時のコンテンツのスタイル */ }
    .faq .h2_back {
      position: absolute;
      top: 47px;
      left: calc(50% - 227px);
      z-index: 1;
      background-color: #F0A5F0; }
    .faq h2 {
      position: absolute;
      top: 45px;
      left: calc(50% - 230px);
      z-index: 1;
      background-color: #F0A5F0; }
    .faq .faq_flex {
      width: calc(100% - 20px);
      max-width: 600px;
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin: 0 auto; }
    .faq .carousel-item {
      border: 3px solid var(--black);
      border-radius: 6px;
      /* rounded-lg */
      overflow: hidden;
      font-family: "zen-maru-gothic", sans-serif;
      font-weight: 700;
      font-style: normal; }
    .faq .carousel-item-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 100%;
      padding: 1.4rem;
      /* p-4 */
      background-color: #fff;
      /* bg-gray-50 */
      border: none;
      cursor: pointer;
      transition: background-color 0.2s ease-in-out;
      font-family: "zen-maru-gothic", sans-serif;
      font-weight: 700;
      font-style: normal; }
    .faq .carousel-item-header:hover {
      background-color: #f3f4f6;
      /* hover:bg-gray-100 */ }
    .faq .carousel-item-header:focus {
      outline: none;
      /* focus:outline-none */ }
    .faq .carousel-item-header span {
      font-size: 2rem;
      /* text-lg */
      color: var(--black);
      /* text-gray-700 */
      text-align: left;
      flex-grow: 1;
      /* テキストが広がるように */
      margin-right: 1rem;
      /* アイコンとの間にスペース */ }
    .faq .plus-minus-icon {
      position: relative;
      width: 1.5rem;
      /* w-6 */
      height: 1.5rem;
      /* h-6 */
      display: flex;
      align-items: center;
      justify-content: center;
      transition: transform 0.3s ease-out; }
    .faq .plus-minus-icon span {
      position: absolute;
      width: 20px;
      /* w-4 */
      height: 3px;
      /* h-0.5 */
      background-color: var(--pink2);
      /* bg-gray-600 */
      border-radius: 9999px;
      /* rounded-full */
      transition: transform 0.3s ease-out;
      /* transition-transform duration-300 ease-out */ }
    .faq .plus-minus-icon span:first-child {
      transform: rotate(0deg);
      /* 垂直線 */ }
    .faq .plus-minus-icon span:last-child {
      transform: rotate(90deg);
      /* 水平線 */ }
    .faq .carousel-item.active .plus-minus-icon span:first-child {
      transform: rotate(90deg);
      /* 垂直線を水平に */
      opacity: 0; }
    .faq .carousel-item.active .plus-minus-icon span:last-child {
      transform: rotate(0deg);
      /* 水平線はそのまま */ }
    .faq .carousel-item-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease-out, padding 0.3s ease-out;
      padding-left: 1.4rem;
      padding-right: 1.4rem;
      color: var(--black);
      line-height: 1.625;
      background-color: #fff; }
    .faq .carousel-item.active .carousel-item-content {
      max-height: 2000px;
      padding-top: 1rem;
      padding-bottom: 1rem; } }
@media screen and (min-width: 1024px) {
  .fv_wrap:before {
    content: "";
    width: 110px;
    height: 110px;
    bottom: -150px;
    left: calc(50% - 470px); }
  .fv_wrap:after {
    content: "";
    width: 110px;
    height: 110px;
    bottom: -150px;
    right: calc(50% - 470px);
    transform: scale(-1, 1); }

  header {
    width: 100vw;
    height: 60px;
    display: flex;
    justify-content: center;
    margin-bottom: 100px;
    position: relative;
    z-index: 1; }
    header .header_inner {
      width: calc(100% - 100px);
      height: 100%;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      header .header_inner .header_logo {
        width: 190px;
        height: 100%;
        margin-left: -3px;
        display: flex;
        align-items: center; }
        header .header_inner .header_logo img {
          width: 100%;
          height: auto; }
      header .header_inner .header_cta {
        width: 140px;
        height: 50px;
        border: solid 3px var(--black);
        background-color: var(--yellow);
        color: var(--black);
        font-size: 2.4rem;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        margin-top: -10px; }
        header .header_inner .header_cta::before {
          content: "";
          width: 140px;
          height: 100%;
          background-color: var(--black);
          border: solid 3px var(--black);
          position: absolute;
          bottom: -6px;
          left: 0;
          z-index: -1; }
        header .header_inner .header_cta:hover {
          opacity: 1;
          color: #757575; }

  .fv_wave {
    width: 160px;
    height: auto;
    position: absolute; }

  .wave_1 {
    top: 0px;
    right: calc(50% + 250px); }

  .wave_2 {
    top: 453px;
    left: calc(50% - 670px); }

  .wave_3 {
    top: 470px;
    right: calc(50% - 670px); }

  .wave_4 {
    display: block;
    top: 330px;
    right: calc(50% - 190px); }

  .fv_sparcle_pink {
    width: 64px; }

  .sp_1 {
    top: 155px;
    left: calc(50% - 600px); }

  .sp_2 {
    top: 215px;
    right: calc(50% - 600px);
    transform: scale(-1, 1); }

  .sp_3 {
    top: 380px;
    left: calc(50% - 230px); }

  .sp_4 {
    top: 440px;
    right: calc(50% - 240px); }

  .fv_sparcle_white {
    width: 64px; }

  .shooting {
    display: block;
    position: absolute;
    width: 90px;
    height: auto; }

  .sh_1 {
    top: 470px;
    left: calc(50% - 500px); }

  .sh_2 {
    top: 470px;
    right: calc(50% - 520px); }

  h1 {
    width: 600px;
    position: absolute;
    top: 70px;
    left: calc(50% - 300px); }
    h1 img {
      width: 100%;
      height: auto; }

  .fv_circle {
    width: 140px;
    height: 140px;
    font-size: 1.6rem; }
    .fv_circle p {
      margin-bottom: 20px; }

  .c_game {
    top: 150px;
    left: calc(50% - 520px); }
    .c_game img {
      width: 56px;
      height: auto;
      margin-bottom: 4px; }

  .c_vtuber {
    top: 270px;
    left: calc(50% - 420px); }
    .c_vtuber img {
      width: 48px;
      height: auto;
      margin-bottom: 1px; }

  .c_manga {
    top: 290px;
    left: calc(50% - 590px); }
    .c_manga img {
      width: 70px;
      height: auto;
      margin-bottom: 5px; }

  .c_anime {
    top: 150px;
    right: calc(50% - 520px); }
    .c_anime img {
      width: 64px;
      height: auto;
      margin-bottom: 6px; }

  .c_streaming {
    top: 270px;
    right: calc(50% - 420px);
    font-size: 1.4rem; }
    .c_streaming p {
      margin-bottom: 20px; }
    .c_streaming img {
      width: 58px;
      height: auto;
      margin-bottom: 16px; }

  .c_tv {
    top: 290px;
    right: calc(50% - 590px); }
    .c_tv img {
      width: 63px;
      height: auto;
      margin-bottom: 5px; }

  .c_back {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background-color: var(--pink2);
    position: absolute; }

  .c_game_back {
    top: 153px;
    left: calc(50% - 517px); }

  .c_vtuber_back {
    top: 273px;
    left: calc(50% - 417px); }

  .c_manga_back {
    top: 293px;
    left: calc(50% - 587px); }

  .c_anime_back {
    top: 153px;
    right: calc(50% - 523px); }

  .c_streaming_back {
    top: 273px;
    right: calc(50% - 423px); }

  .c_tv_back {
    top: 293px;
    right: calc(50% - 593px); }

  .mv {
    width: 290px;
    top: 310px;
    left: calc(50% - 145px); }

  .fv_fl {
    width: 200px;
    height: 200px;
    position: absolute;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 2rem;
    line-height: 1.1; }
    .fv_fl span {
      color: var(--pink2);
      display: inline-block; }

  .fl_1 {
    background-image: url("../images/flower_y.webp");
    top: 480px;
    left: calc(50% - 400px); }
    .fl_1 span {
      font-size: 3.4rem;
      padding-top: 3px; }

  .fl_2 {
    background-image: url("../images/flower_g.webp");
    top: 480px;
    right: calc(50% - 400px); }
    .fl_2 span {
      font-size: 4.8rem;
      padding-top: 6px; }

  main {
    background-image: url("../images/back_dot.webp");
    background-repeat: repeat;
    background-size: 100%;
    background-position: top;
    width: 100vw;
    padding-top: 240px; }
    main p {
      font-size: 1.6rem; }
      main p span {
        border-bottom: solid 3px #F2D224; }

  h2 {
    width: 500px;
    height: 60px;
    font-size: 2.4rem;
    border: solid 3px var(--black);
    border-radius: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box; }

  .h2_back {
    width: 500px;
    height: 60px;
    font-size: 1.6rem;
    border: solid 3px var(--black);
    border-radius: 40px;
    box-sizing: border-box; }

  .section_inner {
    width: calc(100% - 40px);
    margin: 0 auto;
    background-color: #fff;
    padding: 80px 20px 70px 20px;
    box-sizing: border-box;
    position: relative; }
    .section_inner:before {
      content: "";
      width: 110px;
      height: 110px;
      top: 100px;
      right: -160px;
      z-index: -1;
      transform: scaleX(-1); }
    .section_inner:after {
      content: "";
      width: 110px;
      height: 110px;
      bottom: 100px;
      left: -160px;
      z-index: -1; }

  .max700 {
    max-width: 700px;
    margin: 0 auto; }

  .jobs {
    margin: 0 auto 140px auto;
    max-width: 980px;
    z-index: 1; }
    .jobs:before {
      content: "";
      width: 200px;
      height: 200px;
      top: -90px;
      left: -90px;
      z-index: -1; }
    .jobs:after {
      content: "";
      width: 200px;
      height: 200px;
      bottom: -90px;
      right: -90px;
      z-index: -1; }
    .jobs .jobs_wrap .h2_back {
      position: absolute;
      top: -28px;
      left: calc(50% - 247px);
      z-index: 1;
      background-color: var(--blue); }
    .jobs .jobs_wrap h2 {
      position: absolute;
      top: -30px;
      left: calc(50% - 250px);
      z-index: 1;
      background-color: var(--blue); }
    .jobs .jobs_wrap h3 {
      font-size: 2rem;
      color: #fff;
      width: 134px;
      height: 64px;
      background-image: url("../images/h3_back.webp");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      text-align: center;
      line-height: 64px;
      margin: 24px auto;
      position: relative;
      z-index: 1; }
      .jobs .jobs_wrap h3:before {
        content: "";
        width: 600px;
        height: 6px;
        border-radius: 4px;
        background-color: var(--pink1);
        position: absolute;
        top: 30px;
        left: calc(50% - 300px);
        z-index: -1; }
    .jobs .jobs_wrap .jobs_flex {
      flex-direction: row;
      align-items: stretch;
      gap: 10px;
      margin-bottom: 30px;
      width: 860px;
      margin-left: auto;
      margin-right: auto; }
      .jobs .jobs_wrap .jobs_flex .jobs_items {
        width: 100%;
        padding: 30px 10px;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start; }
        .jobs .jobs_wrap .jobs_flex .jobs_items .img_wrap {
          width: 190px;
          height: 130px;
          position: relative;
          z-index: 1;
          margin-right: 0;
          margin-bottom: 20px;
          display: flex;
          align-items: center;
          justify-content: center; }
          .jobs .jobs_wrap .jobs_flex .jobs_items .img_wrap .jobs_img {
            width: 100%;
            height: auto;
            z-index: 1;
            display: block; }
          .jobs .jobs_wrap .jobs_flex .jobs_items .img_wrap:before {
            content: "";
            width: 140px;
            height: 140px;
            border-radius: 50%;
            position: absolute;
            top: -5px;
            left: calc(50% - 70px);
            background-color: #DBFCF9;
            z-index: -1; }
        .jobs .jobs_wrap .jobs_flex .jobs_items .jobs_items_text .jobs_items_p {
          font-size: 1.8rem;
          margin-bottom: 16px; }
        .jobs .jobs_wrap .jobs_flex .jobs_items .jobs_items_text .jobs_items_b {
          font-size: 1.8rem;
          width: 190px;
          height: 32px;
          background-color: var(--blue);
          text-align: center;
          line-height: 32px;
          border-radius: 20px; }
        .jobs .jobs_wrap .jobs_flex .jobs_items:nth-child(3) .img_wrap .jobs_img {
          margin-left: 10px;
          margin-top: 10px; }

  .question {
    max-width: 980px;
    z-index: 1; }
    .question:before {
      content: "";
      width: 200px;
      height: 200px;
      top: -90px;
      left: -90px;
      z-index: -1; }
    .question:after {
      content: "";
      width: 200px;
      height: 200px;
      bottom: -90px;
      right: -90px;
      z-index: -1; }
    .question .question_wrap {
      width: 100%;
      border: solid 3px var(--black);
      background-color: var(--blue); }
      .question .question_wrap .h2_back {
        position: absolute;
        top: -28px;
        left: calc(50% - 247px);
        z-index: 1;
        background-color: #F0A5F0; }
      .question .question_wrap h2 {
        position: absolute;
        top: -30px;
        left: calc(50% - 250px);
        z-index: 1;
        background-color: #F0A5F0; }
      .question .question_wrap .question_flex {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin-top: 40px;
        position: relative; }
        .question .question_wrap .question_flex::before {
          content: "";
          width: 62px;
          height: 80px;
          background-image: url("../images/heart.webp");
          background-repeat: no-repeat;
          background-size: contain;
          background-position: center;
          position: absolute;
          top: 0;
          left: 120px; }
        .question .question_wrap .question_flex::after {
          content: "";
          width: 82px;
          height: 91px;
          background-image: url("../images/star.webp");
          background-repeat: no-repeat;
          background-size: contain;
          background-position: center;
          position: absolute;
          bottom: 160px;
          right: 80px; }
        .question .question_wrap .question_flex .question_items {
          width: 100%;
          display: flex;
          align-items: center;
          justify-content: center; }
          .question .question_wrap .question_flex .question_items:last-child {
            flex-direction: row-reverse;
            margin-top: -20px; }
          .question .question_wrap .question_flex .question_items img {
            width: 180px;
            height: auto; }
          .question .question_wrap .question_flex .question_items p {
            width: 330px;
            padding: 30px 20px;
            box-sizing: border-box;
            font-size: 2rem;
            line-height: 1.3;
            position: relative;
            margin-top: 50px; }
          .question .question_wrap .question_flex .question_items .question_p_p {
            margin-left: 30px; }
            .question .question_wrap .question_flex .question_items .question_p_p:before {
              border-style: solid;
              border-top: 12px solid transparent;
              border-bottom: 12px solid transparent;
              border-right: 24px solid var(--pink1);
              border-left: 0;
              position: absolute;
              left: -20px;
              top: 70px; }
          .question .question_wrap .question_flex .question_items .question_p_b {
            margin-right: 30px; }
            .question .question_wrap .question_flex .question_items .question_p_b:before {
              border-style: solid;
              border-top: 12px solid transparent;
              border-bottom: 12px solid transparent;
              border-left: 24px solid var(--blue);
              border-right: 0;
              position: absolute;
              right: -20px;
              top: 70px; }
        .question .question_wrap .question_flex .sp_dot {
          width: 210px;
          height: auto;
          margin: -10px 300px 0 auto; }

  .tab_dot {
    display: block;
    width: 210px;
    height: auto;
    margin: -10px auto 0 300px; }

  .voice {
    margin: 70px auto 40px auto;
    position: relative;
    padding: 120px 0 40px 0;
    max-width: 980px;
    position: relative;
    z-index: 1; }
    .voice:before {
      content: "";
      width: 110px;
      height: 110px;
      background-image: url("../images/sparkle_p.webp");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      position: absolute;
      top: 80px;
      right: -140px;
      z-index: -1;
      transform: scaleX(-1); }
    .voice:after {
      content: "";
      width: 110px;
      height: 110px;
      background-image: url("../images/sparkle_p.webp");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      position: absolute;
      bottom: 0px;
      left: -140px;
      z-index: -1; }
    .voice .h2_back {
      position: absolute;
      top: -18px;
      left: calc(50% - 247px);
      z-index: 1;
      background-color: var(--blue); }
    .voice h2 {
      position: absolute;
      top: -20px;
      left: calc(50% - 250px);
      z-index: 1;
      background-color: var(--blue); }
    .voice .voice_flex {
      width: 100%;
      display: flex;
      flex-direction: row;
      align-items: stretch;
      justify-content: center;
      gap: 40px; }
      .voice .voice_flex .voice_items {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        padding: 50px 30px 90px 30px;
        border: solid 3px var(--black);
        background-color: #fff;
        border-radius: 200px;
        box-sizing: border-box;
        position: relative; }
        .voice .voice_flex .voice_items:nth-child(1):before {
          content: "01";
          width: 60px;
          height: 60px;
          background-color: #F0A5F0;
          border-radius: 50%;
          border: dotted 3px var(--black);
          display: flex;
          align-items: center;
          justify-content: center;
          position: absolute;
          top: -33px;
          left: calc(50% - 30px);
          font-size: 3rem; }
        .voice .voice_flex .voice_items:nth-child(2):before {
          content: "02";
          width: 60px;
          height: 60px;
          background-color: #F0A5F0;
          border-radius: 50%;
          border: dotted 3px var(--black);
          display: flex;
          align-items: center;
          justify-content: center;
          position: absolute;
          top: -33px;
          left: calc(50% - 30px);
          font-size: 3rem; }
        .voice .voice_flex .voice_items:nth-child(3):before {
          content: "03";
          width: 60px;
          height: 60px;
          background-color: #F0A5F0;
          border-radius: 50%;
          border: dotted 3px var(--black);
          display: flex;
          align-items: center;
          justify-content: center;
          position: absolute;
          top: -33px;
          left: calc(50% - 30px);
          font-size: 3rem; }
        .voice .voice_flex .voice_items img {
          width: 180px; }
        .voice .voice_flex .voice_items .before_p {
          font-size: 1.6rem;
          margin-top: 20px; }
        .voice .voice_flex .voice_items .voice_tri {
          width: 0;
          height: 0;
          border-style: solid;
          border-right: 8px solid transparent;
          border-left: 8px solid transparent;
          border-top: 12px solid var(--black);
          border-bottom: 0;
          margin: 10px auto; }
        .voice .voice_flex .voice_items .after_p {
          font-size: 2rem;
          color: var(--pink2);
          margin-bottom: 10px;
          text-align: center;
          height: 50px;
          line-height: 1.2; }
        .voice .voice_flex .voice_items .voice_p {
          text-align: justify; }

  .about {
    width: 100vw;
    padding: 140px 20px 80px 20px;
    box-sizing: border-box;
    background-color: var(--green);
    position: relative;
    z-index: 1;
    overflow: hidden; }
    .about .flower_w {
      position: absolute;
      width: 260px;
      height: auto;
      z-index: -1; }
    .about .w1 {
      top: 50px;
      right: -60px; }
    .about .w2 {
      top: 170px;
      left: -60px; }
    .about .w3 {
      top: 470px;
      right: 60px; }
    .about .h2_back {
      top: 40px;
      left: calc(50% - 247px); }
    .about h2 {
      top: 38px;
      left: calc(50% - 250px); }
    .about .about_p {
      max-width: 700px; }
    .about .about_inner {
      width: 100%;
      max-width: 980px;
      margin: 0 auto; }
    .about .about_flex {
      width: 100%;
      display: flex;
      flex-direction: row;
      gap: 10px;
      align-items: stretch;
      justify-content: center;
      margin-top: 60px; }
      .about .about_flex .about_items {
        width: 100%;
        padding: 10px;
        background-color: var(--yellow);
        border: solid 3px var(--black);
        position: relative;
        box-sizing: border-box; }
        .about .about_flex .about_items .about_inner {
          width: 100%;
          height: 100%;
          background-color: #fff;
          padding: 20px 16px;
          box-sizing: border-box; }
          .about .about_flex .about_items .about_inner h3 {
            font-size: 2rem;
            text-align: center;
            line-height: 1.2;
            margin-bottom: 20px;
            margin-top: 10px; }
            .about .about_flex .about_items .about_inner h3 span {
              font-size: 2.8rem;
              color: var(--pink2); }
              .about .about_flex .about_items .about_inner h3 span span {
                font-size: 3.8rem; }
            .about .about_flex .about_items .about_inner h3 .size30 {
              font-size: 3rem;
              display: inline-block;
              margin-top: 10px;
              margin-bottom: 0px; }

  .flow {
    padding: 200px 38px 60px 38px;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    z-index: 1; }
    .flow:before {
      content: "";
      width: 110px;
      height: 110px;
      background-image: url("../images/sparkle_o.webp");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      position: absolute;
      top: 200px;
      left: calc(50% - 460px); }
    .flow:after {
      content: "";
      width: 110px;
      height: 110px;
      background-image: url("../images/sparkle_o.webp");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      position: absolute;
      bottom: 50px;
      right: calc(50% - 460px);
      transform: scaleX(-1); }
    .flow .h2_back {
      position: absolute;
      top: 70px;
      left: calc(50% - 247px);
      z-index: 1;
      background-color: #FECA74; }
    .flow h2 {
      position: absolute;
      top: 70px;
      left: calc(50% - 250px);
      z-index: 1;
      background-color: #FECA74; }
    .flow .flow_flex {
      width: 100%;
      max-width: 500px;
      flex-direction: column;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 20px;
      margin: 0 auto; }
      .flow .flow_flex .flow_items {
        width: 100%;
        display: flex;
        align-items: center;
        position: relative;
        z-index: 1; }
        .flow .flow_flex .flow_items .flow_icon {
          width: 120px;
          height: 120px;
          border-radius: 50%;
          border: #E59A35 solid 4px;
          display: flex;
          justify-content: center;
          align-items: center;
          background-color: #fff; }
        .flow .flow_flex .flow_items .icon_1 img {
          width: 63px;
          height: auto;
          margin-right: 10px; }
        .flow .flow_flex .flow_items .icon_2 img {
          width: 70px;
          height: auto; }
        .flow .flow_flex .flow_items .icon_3 img {
          width: 60px;
          height: auto; }
        .flow .flow_flex .flow_items .icon_4 img {
          width: 72px;
          height: auto; }
        .flow .flow_flex .flow_items .icon_1::before {
          content: "01";
          font-size: 3.6rem;
          position: absolute;
          top: -43px;
          left: 44px;
          color: #E59A35; }
        .flow .flow_flex .flow_items .icon_2::before {
          content: "02";
          font-size: 3.6rem;
          position: absolute;
          top: -43px;
          left: 44px;
          color: #E59A35; }
        .flow .flow_flex .flow_items .icon_3::before {
          content: "03";
          font-size: 3.6rem;
          position: absolute;
          top: -43px;
          left: 44px;
          color: #E59A35; }
        .flow .flow_flex .flow_items .icon_4::before {
          content: "04";
          font-size: 3.6rem;
          position: absolute;
          top: -43px;
          left: 44px;
          color: #E59A35; }
        .flow .flow_flex .flow_items .flow_text {
          width: calc(100% - 70px);
          height: 50px;
          border-radius: 30px;
          background-color: #E59A35;
          color: #fff;
          font-size: 2.4rem;
          margin-left: -20px;
          position: absolute;
          top: 40px;
          left: 80px;
          z-index: -1;
          display: flex;
          justify-content: center;
          align-items: center; }
      .flow .flow_flex .flow_items:nth-child(even) {
        flex-direction: row-reverse; }
        .flow .flow_flex .flow_items:nth-child(even) .flow_text {
          left: auto;
          right: 50px; }
      .flow .flow_flex .flow_items:nth-child(1)::before {
        content: "";
        width: 40px;
        height: 60px;
        background-image: url("../images/flow_dot.webp");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        position: absolute;
        bottom: -36px;
        left: calc(50% - 20px); }
      .flow .flow_flex .flow_items:nth-child(2)::before {
        content: "";
        width: 40px;
        height: 60px;
        background-image: url("../images/flow_dot.webp");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        position: absolute;
        transform: scaleX(-1);
        bottom: -36px;
        left: calc(50% - 20px); }
      .flow .flow_flex .flow_items:nth-child(3)::before {
        content: "";
        width: 40px;
        height: 60px;
        background-image: url("../images/flow_dot.webp");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        position: absolute;
        bottom: -36px;
        left: calc(50% - 20px); }

  .wave_yellow {
    width: 100vw;
    height: 36px;
    background-image: url("../images/wave_sepa_2.webp");
    background-size: contain;
    background-repeat: repeat-x;
    background-position: bottom; }

  .faq {
    padding: 160px 0 100px 0;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    background: #F2D224;
    background: linear-gradient(0deg, #f2d224 0%, #fff7ce 100%);
    /* カルーセルアイテムヘッダーのスタイル */
    /* プラスマイナスアイコンのスタイル */
    /* アクティブ時のプラスマイナスアイコンのアニメーション */
    /* カルーセルアイテムコンテンツのスタイル */
    /* アクティブ時のコンテンツのスタイル */ }
    .faq .h2_back {
      position: absolute;
      top: 47px;
      left: calc(50% - 247px);
      z-index: 1;
      background-color: #F0A5F0; }
    .faq h2 {
      position: absolute;
      top: 45px;
      left: calc(50% - 250px);
      z-index: 1;
      background-color: #F0A5F0; }
    .faq .faq_flex {
      width: calc(100% - 20px);
      max-width: 600px;
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin: 0 auto; }
    .faq .carousel-item {
      border: 3px solid var(--black);
      border-radius: 6px;
      /* rounded-lg */
      overflow: hidden;
      font-family: "zen-maru-gothic", sans-serif;
      font-weight: 700;
      font-style: normal; }
    .faq .carousel-item-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 100%;
      padding: 1.4rem;
      /* p-4 */
      background-color: #fff;
      /* bg-gray-50 */
      border: none;
      cursor: pointer;
      transition: background-color 0.2s ease-in-out;
      font-family: "zen-maru-gothic", sans-serif;
      font-weight: 700;
      font-style: normal; }
    .faq .carousel-item-header:hover {
      background-color: #f3f4f6;
      /* hover:bg-gray-100 */ }
    .faq .carousel-item-header:focus {
      outline: none;
      /* focus:outline-none */ }
    .faq .carousel-item-header span {
      font-size: 2rem;
      /* text-lg */
      color: var(--black);
      /* text-gray-700 */
      text-align: left;
      flex-grow: 1;
      /* テキストが広がるように */
      margin-right: 1rem;
      /* アイコンとの間にスペース */ }
    .faq .plus-minus-icon {
      position: relative;
      width: 1.5rem;
      /* w-6 */
      height: 1.5rem;
      /* h-6 */
      display: flex;
      align-items: center;
      justify-content: center;
      transition: transform 0.3s ease-out; }
    .faq .plus-minus-icon span {
      position: absolute;
      width: 20px;
      /* w-4 */
      height: 3px;
      /* h-0.5 */
      background-color: var(--pink2);
      /* bg-gray-600 */
      border-radius: 9999px;
      /* rounded-full */
      transition: transform 0.3s ease-out;
      /* transition-transform duration-300 ease-out */ }
    .faq .plus-minus-icon span:first-child {
      transform: rotate(0deg);
      /* 垂直線 */ }
    .faq .plus-minus-icon span:last-child {
      transform: rotate(90deg);
      /* 水平線 */ }
    .faq .carousel-item.active .plus-minus-icon span:first-child {
      transform: rotate(90deg);
      /* 垂直線を水平に */
      opacity: 0; }
    .faq .carousel-item.active .plus-minus-icon span:last-child {
      transform: rotate(0deg);
      /* 水平線はそのまま */ }
    .faq .carousel-item-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease-out, padding 0.3s ease-out;
      padding-left: 1.4rem;
      padding-right: 1.4rem;
      color: var(--black);
      line-height: 1.625;
      background-color: #fff; }
    .faq .carousel-item.active .carousel-item-content {
      max-height: 2000px;
      padding-top: 1rem;
      padding-bottom: 1rem; } }
