@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
html {
  font-size: 1.3333333333vw;
}
@media screen and (min-width: 768px) {
  html {
    font-size: 0.5882352941vw;
  }
}
@media screen and (min-width: 1700px) {
  html {
    font-size: 0.625rem;
  }
}

body {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-feature-settings: "palt";
}

img {
  width: 100%;
  height: auto;
}

a:hover {
  opacity: 0.8;
  transition: opacity 0.3s;
}

.header {
  height: 11.8rem;
  padding-top: 4rem;
}
@media screen and (min-width: 768px) {
  .header {
    height: 15.5rem;
    padding-top: 2.5rem;
  }
}
.header .logo_box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  gap: 5.9rem;
}
@media screen and (min-width: 768px) {
  .header .logo_box {
    gap: 7.4rem;
  }
}
.header .logo_koka {
  width: 25rem;
}
@media screen and (min-width: 768px) {
  .header .logo_koka {
    width: 23.6rem;
  }
}
.header .logo_ad {
  width: 26rem;
}
@media screen and (min-width: 768px) {
  .header .logo_ad {
    width: 24.5rem;
  }
}

@media screen and (min-width: 768px) {
  .fv {
    position: relative;
    height: 73.6rem;
    background-image: image-set(url(../img/pc/fv_bg.webp), url(../img/pc/fv_bg.png));
    background-repeat: no-repeat;
    background-size: cover;
  }
}
.fv .title {
  width: 66.7rem;
  margin: auto;
}
@media screen and (min-width: 768px) {
  .fv .title {
    position: absolute;
    width: 86.9rem;
    top: -4rem;
    left: 0;
    right: 0;
  }
}
.fv .texts {
  margin: 2.2rem 0 0;
}
@media screen and (min-width: 768px) {
  .fv .texts {
    width: 113rem;
    margin: 0 10.3rem 0 auto;
    padding-top: 7.6rem;
  }
}

.sv .sv_first {
  background-image: image-set(url(../img/sp/sv_bg_dots_sp.webp), url(../img/sp/sv_bg_dots_sp.png));
  background-position: center;
  background-size: auto;
  padding: 8.8rem 0 10.8rem;
}
@media screen and (min-width: 768px) {
  .sv .sv_first {
    background-image: image-set(url(../img/pc/sv_bg_dots.webp), url(../img/pc/sv_bg_dots.png));
    padding: 9.7rem 0 10rem;
  }
}
.sv .sv_first .title {
  width: 65.6rem;
  margin: auto;
}
@media screen and (min-width: 768px) {
  .sv .sv_first .title {
    width: 73.4rem;
  }
}
.sv .sv_first .content_01 {
  width: 63.4rem;
  margin: 5.2rem auto 0;
}
@media screen and (min-width: 768px) {
  .sv .sv_first .content_01 {
    width: 118.1rem;
  }
}
.sv .sv_second {
  position: relative;
  background-image: image-set(url(../img/sp/sv_bg_circle_sp.webp), url(../img/sp/sv_bg_circle_sp.png));
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  padding: 7.2rem 0 6.2rem;
}
@media screen and (min-width: 768px) {
  .sv .sv_second {
    background-image: image-set(url(../img/pc/sv_bg_circle.webp), url(../img/pc/sv_bg_circle.png));
    padding: 8.4rem 0 7.5rem;
  }
}
.sv .sv_second .icon {
  width: 6.4rem;
  margin: auto;
  position: absolute;
  top: -4.5rem;
  left: 0;
  right: 0;
}
@media screen and (min-width: 768px) {
  .sv .sv_second .icon {
    width: 5.7rem;
    top: -3rem;
  }
}
.sv .sv_second .content_02 {
  width: 65.2rem;
  margin: 2.5rem auto;
}
@media screen and (min-width: 768px) {
  .sv .sv_second .content_02 {
    width: 60.5rem;
    margin: 1.1rem auto;
  }
}
.sv .sv_second .arrow {
  width: 2rem;
  margin: auto;
}
@media screen and (min-width: 768px) {
  .sv .sv_second .arrow {
    width: 2.5rem;
  }
}
.sv .sv_second .content_03 {
  width: 67.5rem;
  margin: 2.3rem auto 0;
}
@media screen and (min-width: 768px) {
  .sv .sv_second .content_03 {
    width: 90rem;
    margin: 3.6rem auto 0;
  }
}

.schedule {
  padding: 10.1rem 0 9rem;
}
@media screen and (min-width: 768px) {
  .schedule {
    padding: 9.1rem 0 11.5rem;
  }
}
.schedule .title {
  width: 65.1rem;
  margin: auto;
}
@media screen and (min-width: 768px) {
  .schedule .title {
    width: 72.8rem;
  }
}
.schedule .person_a {
  width: 45.9rem;
  margin: 5rem auto 0;
}
@media screen and (min-width: 768px) {
  .schedule .person_a {
    width: 53.4rem;
    margin: 6.5rem auto 0;
  }
}
.schedule .schedule_case .title {
  width: 65rem;
}
@media screen and (min-width: 768px) {
  .schedule .schedule_case .title {
    width: 126.4rem;
  }
}
.schedule .schedule_case.-a {
  margin-top: 4.5rem;
}
@media screen and (min-width: 768px) {
  .schedule .schedule_case.-a {
    margin-top: 4.3rem;
  }
}
.schedule .schedule_case.-b {
  margin-top: 8rem;
}
@media screen and (min-width: 768px) {
  .schedule .schedule_case.-b {
    margin-top: 12rem;
  }
}
.schedule .schedule_scrollbox-area {
  position: relative;
}
.schedule .schedule_scrollbox-area .row-head {
  width: 6.6rem;
  position: absolute;
  top: 5.5rem;
  left: calc(50% - 32.5rem);
}
@media screen and (min-width: 768px) {
  .schedule .schedule_scrollbox-area .row-head {
    width: 7rem;
    top: 4rem;
    left: calc(50% - 63rem);
  }
}
.schedule .schedule_scrollbox-area .table {
  width: 56.5rem;
  overflow-x: auto;
  text-align: center;
  margin-left: 13.5rem;
  padding: 5.5rem 0 3rem;
}
@media screen and (min-width: 768px) {
  .schedule .schedule_scrollbox-area .table {
    width: auto;
    margin-left: 0;
    margin: auto;
    padding: 3.6rem 0 3rem;
  }
}
.schedule .schedule_scrollbox-area .table .table_img {
  width: 113.5rem;
}
@media screen and (min-width: 768px) {
  .schedule .schedule_scrollbox-area .table .table_img {
    width: 126.8rem;
  }
}
.schedule .note {
  display: block;
  font-size: 1.9rem;
  text-align: center;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .schedule .note {
    margin-top: 0;
    font-size: 2rem;
  }
}

.lineup {
  background-image: image-set(url(../img/sp/lineup_bg_sp.webp), url(../img/sp/lineup_bg_sp.png));
  background-position: center top;
  background-size: auto;
  padding: 10.1rem 0 14.2rem;
}
@media screen and (min-width: 768px) {
  .lineup {
    background-image: image-set(url(../img/pc/lineup_bg.webp), url(../img/pc/lineup_bg.png));
    padding: 11.5rem 0 10.6rem;
  }
}
.lineup .title {
  width: 65.6rem;
  margin: auto;
}
@media screen and (min-width: 768px) {
  .lineup .title {
    width: 73.7rem;
  }
}
.lineup .lineup_accordion-area {
  margin-top: 10.2rem;
}
@media screen and (min-width: 768px) {
  .lineup .lineup_accordion-area {
    margin-top: 10.9rem;
  }
}
.lineup .lineup_accordion_box_outer {
  width: 64.6rem;
  margin: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .lineup .lineup_accordion_box_outer {
    width: 107rem;
  }
}
.lineup .lineup_accordion_box_outer:not(:first-child) {
  margin-top: 13.1rem;
}
@media screen and (min-width: 768px) {
  .lineup .lineup_accordion_box_outer:not(:first-child) {
    margin-top: 12.8rem;
  }
}
.lineup .lineup_accordion_num {
  width: 8.2rem;
  position: absolute;
  top: -6rem;
  left: 3.5rem;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .lineup .lineup_accordion_num {
    top: -3.5rem;
    left: 5.5rem;
  }
}
.lineup .-box-02 .lineup_accordion_num,
.lineup .-box-03 .lineup_accordion_num,
.lineup .-box-04 .lineup_accordion_num,
.lineup .-box-05 .lineup_accordion_num {
  top: -5rem;
}
@media screen and (min-width: 768px) {
  .lineup .-box-02 .lineup_accordion_num,
  .lineup .-box-03 .lineup_accordion_num,
  .lineup .-box-04 .lineup_accordion_num,
  .lineup .-box-05 .lineup_accordion_num {
    top: -3.5rem;
  }
}
.lineup .lineup_accordion_box {
  position: relative;
  background: #ffcbd4;
  overflow: hidden;
  border-radius: 1.6rem;
}
@media screen and (min-width: 768px) {
  .lineup .lineup_accordion_box {
    border-radius: 2.4rem;
  }
}
.lineup .lineup_accordion_box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 1.6rem;
  box-shadow: 0 0 0 0.3rem #000 inset;
  pointer-events: none;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .lineup .lineup_accordion_box::before {
    border-radius: 2.4rem;
  }
}
.lineup .lineup_accordion_box::after {
  content: "";
  position: absolute;
  width: 11.6rem;
  height: 0.6rem;
  top: -0.2rem;
  left: 2rem;
  background: #ffcbd4;
  pointer-events: none;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .lineup .lineup_accordion_box::after {
    width: 15.7rem;
    height: 0.6rem;
    top: -0.2rem;
    left: 2rem;
  }
}
.lineup .lineup_accordion_header_wrapper {
  padding: 3.1rem 0 3.1rem 3.2rem;
  cursor: pointer;
  position: relative;
}
@media screen and (min-width: 768px) {
  .lineup .lineup_accordion_header_wrapper {
    padding: 3.6rem 0 3.6rem 18.6rem;
  }
}
.lineup .lineup_accordion_header_wrapper::before {
  content: "";
  position: absolute;
  width: 3.6rem;
  height: 2rem;
  top: 41%;
  right: 5%;
  transform: rotate(180deg);
  background-image: image-set(url(../img/sp/lineup_acc_chevron_sp.webp), url(../img/sp/lineup_acc_chevron_sp.png));
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  transition: transform 0.3s ease;
}
@media screen and (min-width: 768px) {
  .lineup .lineup_accordion_header_wrapper::before {
    width: 2.6rem;
    height: 1.5rem;
    top: 43%;
    right: 3%;
    background-image: image-set(url(../img/pc/lineup_acc_chevron.webp), url(../img/pc/lineup_acc_chevron.png));
  }
}
.lineup .lineup_accordion_header_wrapper.is-open::before {
  transform: rotate(0deg);
}
.lineup .-box-01 .lineup_accordion_header {
  width: 17.9rem;
}
@media screen and (min-width: 768px) {
  .lineup .-box-01 .lineup_accordion_header {
    width: 21.9rem;
  }
}
.lineup .-box-02 .lineup_accordion_header {
  width: 49.5rem;
}
@media screen and (min-width: 768px) {
  .lineup .-box-02 .lineup_accordion_header {
    width: 77.6rem;
  }
}
.lineup .-box-03 .lineup_accordion_header {
  width: 44rem;
}
@media screen and (min-width: 768px) {
  .lineup .-box-03 .lineup_accordion_header {
    width: 54.8rem;
  }
}
.lineup .-box-04 .lineup_accordion_header {
  width: 51.7rem;
}
@media screen and (min-width: 768px) {
  .lineup .-box-04 .lineup_accordion_header {
    width: 64.4rem;
  }
}
.lineup .-box-05 .lineup_accordion_header {
  width: 33rem;
}
@media screen and (min-width: 768px) {
  .lineup .-box-05 .lineup_accordion_header {
    width: 62.8rem;
  }
}
.lineup .lineup_accordion_body {
  display: none;
  padding-bottom: 7.5rem;
}
@media screen and (min-width: 768px) {
  .lineup .lineup_accordion_body {
    padding-bottom: 8.2rem;
  }
}
.lineup .lineup_accordion_body .content_01 {
  width: 58.6rem;
  margin: auto;
  overflow-x: auto;
  padding: 1rem 0;
}
@media screen and (min-width: 768px) {
  .lineup .lineup_accordion_body .content_01 {
    width: 97.8rem;
    padding: 0.5rem;
    background-color: #fff;
    border-radius: 0.5rem;
    overflow-x: unset;
  }
}
.lineup .lineup_accordion_body .content_01 .content_01_img {
  width: auto;
  height: 17.4rem;
}
@media screen and (min-width: 768px) {
  .lineup .lineup_accordion_body .content_01 .content_01_img {
    width: 100%;
    height: auto;
  }
}
.lineup .lineup_accordion_body .content_02 {
  width: 57.9rem;
  margin: 5.1rem auto 0;
}
@media screen and (min-width: 768px) {
  .lineup .lineup_accordion_body .content_02 {
    width: 85.2rem;
    margin: 7.5rem auto 0;
  }
}
.lineup .lineup_accordion_body .content_03 {
  width: 57.9rem;
  margin: 2.9rem auto 0;
}
@media screen and (min-width: 768px) {
  .lineup .lineup_accordion_body .content_03 {
    width: 85.2rem;
    margin: 4.5rem auto 0;
  }
}
.lineup .lineup_accordion_body .content_04 {
  width: 57.9rem;
  margin: 2.9rem auto 0;
}
@media screen and (min-width: 768px) {
  .lineup .lineup_accordion_body .content_04 {
    width: 85.2rem;
    margin: 4.5rem auto 0;
  }
}
.lineup .lineup_accordion_body .cv-btn {
  display: block;
  width: 43.9rem;
  margin: 5.9rem auto 0;
}
@media screen and (min-width: 768px) {
  .lineup .lineup_accordion_body .cv-btn {
    width: 30.2rem;
    margin: 7.1rem auto 0;
  }
}
.lineup .-box-02 .lineup_accordion_body .content_01 .content_01_img {
  height: 27.2rem;
}
@media screen and (min-width: 768px) {
  .lineup .-box-02 .lineup_accordion_body .content_01 .content_01_img {
    height: auto;
  }
}
.lineup .-box-05 .lineup_accordion_body .content_01 .content_01_img {
  height: 21.5rem;
}
@media screen and (min-width: 768px) {
  .lineup .-box-05 .lineup_accordion_body .content_01 .content_01_img {
    height: auto;
  }
}

.info {
  padding: 10.3rem 0 13.8rem;
}
@media screen and (min-width: 768px) {
  .info {
    padding: 19rem 0 16rem;
  }
}
.info .info_first .title {
  width: 50.6rem;
  margin: auto;
}
@media screen and (min-width: 768px) {
  .info .info_first .title {
    width: 52.5rem;
  }
}
.info .info_first .info_banner {
  width: 65.6rem;
  margin: 3.3rem auto 0;
}
@media screen and (min-width: 768px) {
  .info .info_first .info_banner {
    width: 88.3rem;
    margin: 7.2rem auto 0;
  }
}
.info .info_second {
  margin-top: 9rem;
}
@media screen and (min-width: 768px) {
  .info .info_second {
    margin-top: 13rem;
  }
}
.info .info_second .title {
  width: 65.2rem;
  margin: auto;
}
@media screen and (min-width: 768px) {
  .info .info_second .title {
    width: 67.5rem;
  }
}
.info .info_second .info_banner {
  width: 64.8rem;
  margin: 3.7rem auto 0;
}
@media screen and (min-width: 768px) {
  .info .info_second .info_banner {
    width: 85.3rem;
    margin: 5.6rem auto 0;
  }
}

.floating_cv-btn {
  display: none;
  width: 15rem;
  height: 15rem;
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .floating_cv-btn {
    width: 20rem;
    height: 20rem;
    bottom: 5.4rem;
    right: 5.4rem;
  }
}

.footer {
  background-color: #ff003c;
  padding: 4.7rem 0 1.9rem;
}
@media screen and (min-width: 768px) {
  .footer {
    padding: 5.3rem 0 2.7rem;
  }
}
.footer .footer_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.footer .footer_logo {
  width: 64.4rem;
  margin: auto;
}
@media screen and (min-width: 768px) {
  .footer .footer_logo {
    width: 71rem;
  }
}
.footer .footer_text {
  display: inline-block;
  font-size: 2.8rem;
  text-align: center;
  margin-top: 3rem;
  letter-spacing: 0.06em;
  line-height: 1.3;
  color: #fff;
  padding: 2.4rem 2.2rem;
  border: #fff 1px solid;
  border-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .footer .footer_text {
    font-size: 3rem;
    margin-top: 2.8rem;
    padding: 2.5rem 3.5rem;
    border: #fff 0.2rem solid;
  }
}
.footer .footer_links {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3.4rem;
  margin-top: 2.6rem;
}
@media screen and (min-width: 768px) {
  .footer .footer_links {
    gap: 3.6rem;
    margin-top: 3.8rem;
  }
}
.footer .footer_links .footer_btn {
  background-color: #fff;
  width: 40.5rem;
  height: 7.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 1rem;
  gap: 2.1rem;
}
@media screen and (min-width: 768px) {
  .footer .footer_links .footer_btn {
    width: 47.1rem;
    height: 8.1rem;
    gap: 1.4rem;
  }
}
.footer .footer_links .footer_book {
  width: 4.5rem;
  height: 3.9rem;
}
@media screen and (min-width: 768px) {
  .footer .footer_links .footer_book {
    width: 4.8rem;
    height: 4.1rem;
  }
}
.footer .footer_links .footer_book-text {
  font-size: 3rem;
  font-weight: 700;
  color: #ff003c;
}
@media screen and (min-width: 768px) {
  .footer .footer_links .footer_book-text {
    font-size: 3.1rem;
  }
}
.footer .footer_links_sns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.2rem;
}
@media screen and (min-width: 768px) {
  .footer .footer_links_sns {
    gap: 1.3rem;
  }
}
.footer .footer_links_sns .footer_sns-icon {
  width: 9.3rem;
}
@media screen and (min-width: 768px) {
  .footer .footer_links_sns .footer_sns-icon {
    width: 10rem;
  }
}
.footer .copyright {
  font-size: 2.3rem;
  font-weight: 700;
  color: #fff;
  margin-top: 3.5rem;
}
@media screen and (min-width: 768px) {
  .footer .copyright {
    font-size: 2.4rem;
    margin-top: 3.4rem;
  }
}