@charset "UTF-8";
/* ------------------------------------------------------
変数
------------------------------------------------------ */
:root {
  --primary: #010c17;
}

/* =======================================================

共通

======================================================= */
* {
  margin: 0;
  padding: 0;
}

@font-face {
  font-family: "ShipporiMinchoB1";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/ShipporiMinchoB1-regular.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "ShipporiMinchoB1";
  font-style: bold;
  font-weight: 700;
  src: url("../fonts/ShipporiMinchoB1-bold.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "ZenKakuGN";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/ZenKakuGothicNew-regular.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "ZenKakuGN";
  font-style: bold;
  font-weight: 700;
  src: url("../fonts/ZenKakuGothicNew-bold.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "ZenKakuGN_tate";
  font-style: bold;
  font-weight: 700;
  src: url("../fonts/ZenKakuGN_tate.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "ZCOOLQing";
  font-style: bold;
  font-weight: 700;
  src: url("../fonts/ZCOOLQing-regular.woff") format("woff");
  font-display: swap;
}
html {
  font-size: 62.5% !important;
  min-height: 100%;
}

body {
  font-size: 1.6rem;
  font-family: "ZenKakuGN", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  line-height: 1.5em;
  color: #fff;
  background-color: #010c17;
  -webkit-font-smoothing: antialiased;
  position: relative;
  background-color: --primary;
}
@media (max-width: 768px) {
  body {
    font-size: 1.5rem;
  }
}
@media (max-width: 540px) {
  body {
    font-size: 1.4rem;
  }
}

p {
  line-height: 1.8em;
}

img {
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
  line-height: 1em;
}

a {
  text-decoration: none;
  cursor: pointer;
}
a:hover {
  text-decoration: none;
}

br.pc {
  display: none;
}
@media (max-width: 1024px) {
  br.pc {
    display: block;
  }
}

br.tab {
  display: none;
}
@media (max-width: 768px) {
  br.tab {
    display: block;
  }
}

br.sp {
  display: none;
}
@media (max-width: 540px) {
  br.sp {
    display: block;
  }
}

main {
  overflow: hidden;
}
@media (max-width: 768px) {
  main {
    padding-top: 50px;
  }
}

.container {
  max-width: 1200px;
  padding: 0 30px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .container {
    padding: 0 20px;
  }
}

/* ---------------------------------------------

FV

---------------------------------------------- */
#fv {
  display: block;
  position: relative;
  background-color: #fff;
  background-image: url(../../img/fv_bg01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  width: 100%;
  min-height: 54vw;
  height: auto;
  padding: 0;
  margin: auto;
  overflow: hidden;
}
@media (max-width: 540px) {
  #fv {
    background-color: #fff;
    background-image: url(../../img/fv_bg01_sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    min-height: 187vw;
  }
}
#fv .fv_h01 {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 49%;
  height: auto;
}
@media (max-width: 540px) {
  #fv .fv_h01 {
    bottom: initial;
    top: 71vw;
    width: 110%;
    left: -8vw;
    z-index: 2;
  }
}
#fv .fv_h02 {
  position: absolute;
  right: 1%;
  bottom: 0;
  width: 53%;
  height: auto;
}
@media (max-width: 540px) {
  #fv .fv_h02 {
    bottom: initial;
    top: 2vw;
    width: 110%;
    left: -2vw;
    z-index: 1;
  }
}
#fv .fv_line01 {
  position: absolute;
  bottom: 45%;
  left: -8%;
  width: 62.55%;
}
@media (max-width: 540px) {
  #fv .fv_line01 {
    bottom: initial;
    left: -42%;
    top: 0%;
    width: 127%;
  }
}
#fv .fv_line02 {
  position: absolute;
  bottom: 4%;
  right: -30%;
  width: 62.55%;
}
@media (max-width: 540px) {
  #fv .fv_line02 {
    bottom: 4%;
    right: -24%;
    width: 127%;
  }
}
#fv .fv_catch01 {
  position: absolute;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 7vw;
  height: 28vw;
  right: 5%;
  top: 0;
  overflow: visible;
  background: var(--unnamed-color-010c17) 0% 0% no-repeat padding-box;
  background: rgba(255, 255, 255, 0.5) 0% 0% no-repeat padding-box;
  opacity: 1;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
@media (max-width: 540px) {
  #fv .fv_catch01 {
    width: 17vw;
    height: auto;
    right: 0;
    top: 0;
    padding: 3vw 0;
    z-index: 3;
  }
}
#fv .fv_catch01 img {
  z-index: 5;
  width: auto;
  height: auto;
  margin: 0 calc(50% - 50vw);
}
#fv .fv_catch02 {
  position: absolute;
  z-index: 5;
  right: 13%;
  top: 7vw;
  width: 6vw;
  height: auto;
  padding: 0 10px;
  overflow: visible;
  background: linear-gradient(to bottom, rgba(57, 131, 255, 0.6), rgba(15, 233, 225, 0.6), rgba(152, 242, 34, 0.6));
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
@media (max-width: 768px) {
  #fv .fv_catch02 {
    right: 14%;
    top: 7vw;
    width: 7.2vw;
  }
}
@media (max-width: 540px) {
  #fv .fv_catch02 {
    right: 19vw;
    top: 8vw;
    width: 16vw;
    height: auto;
    padding: 0 12px;
  }
}
#fv .fv_catch03 {
  position: absolute;
  z-index: 5;
  left: 13%;
  top: 0;
  width: 6vw;
  height: auto;
  padding: 0 10px;
  overflow: visible;
  background: var(--unnamed-color-010c17) 0% 0% no-repeat padding-box;
  background: rgba(255, 255, 255, 0.5) 0% 0% no-repeat padding-box;
  opacity: 1;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
@media (max-width: 768px) {
  #fv .fv_catch03 {
    width: 8vw;
  }
}
@media (max-width: 540px) {
  #fv .fv_catch03 {
    left: 18.5vw;
    top: initial;
    bottom: 40vw;
    width: 16vw;
  }
}
#fv .fv_catch04 {
  position: absolute;
  z-index: 5;
  left: 5%;
  top: 7vw;
  width: 7vw;
  height: auto;
  overflow: visible;
  background: var(--unnamed-color-010c17) 0% 0% no-repeat padding-box;
  background: rgba(255, 255, 255, 0.5) 0% 0% no-repeat padding-box;
  opacity: 1;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
@media (max-width: 768px) {
  #fv .fv_catch04 {
    top: 3vw;
  }
}
@media (max-width: 540px) {
  #fv .fv_catch04 {
    left: 0;
    top: initial;
    bottom: 18vw;
    width: 17vw;
    padding: 2vw 0;
    overflow: visible;
  }
}
#fv .logoArea {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
  position: absolute;
  z-index: 2;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: auto;
  padding: 3% 0 2%;
  background: rgb(1, 12, 23);
  background: linear-gradient(0deg, rgb(1, 12, 23) 40%, rgba(1, 12, 23, 0) 100%);
}
@media (max-width: 540px) {
  #fv .logoArea {
    z-index: 3;
    flex-direction: column-reverse;
    align-items: flex-end;
  }
}
#fv .logoArea h1 {
  display: block;
  text-align: center;
}
#fv .logoArea h1 img {
  width: 750px;
  max-width: 88%;
  height: auto;
  margin: 0 auto;
}
#fv .logoArea h1::before {
  background-image: url(../../img/fv_merit.png);
  background-repeat: no-repeat;
  background-position: top center;
  width: 4vw;
  height: 5vw;
  position: absolute;
  left: 5vw;
}
#fv .logoArea .fv_merit {
  width: 15%;
  height: auto;
}
@media (max-width: 540px) {
  #fv .logoArea .fv_merit {
    width: 27%;
    margin-right: 3%;
    margin-bottom: 3%;
  }
}

/* ---------------------------------------------

common

---------------------------------------------- */
/* ---------------------------------------------

CV

---------------------------------------------- */
.cv_fixarea {
  position: fixed;
  z-index: 10;
  bottom: 10px;
  right: 10px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: transparent linear-gradient(180deg, rgba(91, 160, 0, 0.8) 0%, rgba(6, 165, 158, 0.8) 50%, rgba(9, 92, 231, 0.8) 100%) 0% 0% no-repeat padding-box;
  padding: 1% 1.5%;
  text-align: center;
  transition: 0.3s;
}
.cv_fixarea p {
  line-height: 1.4em;
}
.cv_fixarea .cv_btn {
  background: #fff;
  padding: 10px 13px;
  border-radius: 50px;
}
.cv_fixarea .cdt-endmsg {
  display: block;
}
@media (max-width: 540px) {
  .cv_fixarea {
    bottom: 0;
    right: 0;
    flex-direction: row;
    justify-content: space-around;
    width: 100%;
    padding: 2%;
  }
}
.cv_fixarea .txt16 {
  font-size: 16px;
}
@media (max-width: 540px) {
  .cv_fixarea .txt16 {
    font-size: 3vw;
  }
}
.cv_fixarea .txt20 {
  font-size: 20px;
}
@media (max-width: 540px) {
  .cv_fixarea .txt20 {
    font-size: 3.5vw;
  }
}
.cv_fixarea .txt22 {
  font-size: 22px;
}
@media (max-width: 540px) {
  .cv_fixarea .txt22 {
    font-size: 4vw;
  }
}
.cv_fixarea .txt30 {
  font-size: 30px;
}
@media (max-width: 540px) {
  .cv_fixarea .txt30 {
    font-size: 4.5vw;
  }
}
.cv_fixarea.is-hidden {
  visibility: hidden;
  opacity: 0;
}

.cvbtn_page {
  background: linear-gradient(to left, #74CC00 0%, #3983FF 100%) !important;
  border-radius: 50px;
  padding: 20px 30px;
  min-width: 300px;
  max-width: 90%;
  margin: auto;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: 0.3s;
}
.cvbtn_page:hover {
  background: linear-gradient(to left, #74CC00 50%, #3983FF 100%) !important;
}

/* ---------------------------------------------

sec01

---------------------------------------------- */
#sec01 {
  display: block;
  width: 100%;
  height: auto;
  background-image: url(../../img/sec01_bg01.png), url(../../img/sec01_bg02.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: left center, right bottom;
  background-size: 30%, 35%;
  padding-bottom: 100px;
}
@media (max-width: 768px) {
  #sec01 {
    background-position: left bottom 20%, right bottom;
    background-size: 44%, 80%;
  }
}
#sec01 .sec01_box {
  display: flex;
  gap: 20px;
  justify-content: space-around;
}
#sec01 .sec01_box div {
  display: inline-block;
}
#sec01 .sec01_box div:last-of-type {
  flex: 1;
  text-align: right;
  min-width: 38%;
}
@media (max-width: 768px) {
  #sec01 .sec01_box div:last-of-type {
    text-align: center;
  }
}
@media (max-width: 768px) {
  #sec01 .sec01_box div {
    padding: 0 3%;
  }
}
#sec01 .sec01_box ul.sec01_check {
  margin: 30px auto;
}
#sec01 .sec01_box ul.sec01_check li {
  line-height: 1.2em;
  background-image: url(../../img/icon_check_bl.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 30px auto;
  padding: 2% 0 2% 40px;
}
@media (max-width: 768px) {
  #sec01 .sec01_box ul.sec01_check li {
    background-size: 20px auto;
    padding: 2% 0 2% 35px;
  }
}
@media (max-width: 768px) {
  #sec01 .sec01_box ul.sec01_check {
    margin: 20px 0;
  }
}
#sec01 .sec01_box img {
  width: 80%;
  height: auto;
  margin: auto;
}
@media (max-width: 768px) {
  #sec01 .sec01_box {
    display: flex;
    flex-direction: column-reverse;
    gap: 30px;
    justify-content: center;
  }
}

/* ---------------------------------------------

sec02

---------------------------------------------- */
#sec02 {
  display: block;
  width: 100%;
  height: auto;
  background-image: url(../../img/sec02_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  padding: 100px 0;
}
@media (max-width: 768px) {
  #sec02 {
    background-image: url(../../img/sec02_bg_sp.jpg);
    background-position: center;
  }
}
#sec02 ul.sec02_check {
  display: block;
  width: 80%;
  max-width: 100%;
  margin: 50px auto;
}
@media (max-width: 768px) {
  #sec02 ul.sec02_check {
    width: 90%;
  }
}
#sec02 ul.sec02_check li {
  line-height: 1.2em;
  background-image: url(../../img/icon_check_pu.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 30px auto;
  padding: 2% 0 2% 40px;
}
@media (max-width: 768px) {
  #sec02 ul.sec02_check li {
    background-size: 20px auto;
    padding: 2% 0 2% 35px;
  }
}
#sec02 .sec02_arrow {
  display: block;
  margin: 0 auto 30px;
}
@media (max-width: 768px) {
  #sec02 .sec02_arrow {
    max-width: 50%;
  }
}
#sec02 .sec02_imglogo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin: 30px auto;
}
#sec02 .sec02_imglogo img {
  max-width: 90%;
  width: 573px;
  height: auto;
}
@media (max-width: 768px) {
  #sec02 .sec02_imglogo img {
    width: 60%;
  }
}

/* ---------------------------------------------

sec03

---------------------------------------------- */
#sec03 {
  display: block;
  width: 100%;
  height: auto;
  background-image: url(../../img/sec01_bg02.svg);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: auto 100%;
  padding: 100px 0;
  box-sizing: border-box;
}
#sec03 .sec03_box01 {
  display: flex;
  flex-direction: row-reverse;
  width: calc(1200px + 50% - 600px);
  max-width: 100%;
  margin-right: auto;
  gap: 3%;
  justify-content: space-around;
  align-items: flex-start;
}
#sec03 .sec03_box01 div:last-of-type {
  width: 100%;
}
#sec03 .sec03_box01 div:last-of-type img {
  width: 100%;
}
@media (max-width: 768px) {
  #sec03 .sec03_box01 div:last-of-type {
    margin: 0;
  }
}
#sec03 .sec03_box01 div:first-of-type {
  display: block;
}
@media (max-width: 768px) {
  #sec03 .sec03_box01 div:first-of-type {
    padding: 0 3%;
    box-sizing: border-box;
  }
}
@media (max-width: 768px) {
  #sec03 .sec03_box01 {
    flex-direction: column-reverse;
    gap: 30px;
  }
}
@media (max-width: 768px) {
  #sec03 {
    padding: 0 0 100px;
    background-size: auto 60%;
  }
}

/* ---------------------------------------------

sec04

---------------------------------------------- */
#sec04 {
  display: block;
  width: 100%;
  height: auto;
  background-image: url(../../img/sec04_bg01.png), url(../../img/sec04_bg02.png), url(../../img/sec01_bg02.svg);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: left 5% top 3%, right 2% bottom, right top;
  background-size: 10% auto, 30% auto, 35% auto;
  padding: 0 0 100px;
}
@media (max-width: 768px) {
  #sec04 {
    background-size: 12% auto, 80% auto, auto 40%;
    padding: 50px 0;
  }
}
#sec04 .sec04_phase {
  display: flex;
  justify-content: space-around;
  margin: 50px auto 0;
}
@media (max-width: 768px) {
  #sec04 .sec04_phase {
    flex-direction: column;
    margin: 30px auto 0;
    justify-content: center;
  }
}
#sec04 .sec04_phase div {
  width: 33.3333333333%;
  height: 500px;
}
@media (max-width: 768px) {
  #sec04 .sec04_phase div {
    height: initial;
    width: 100%;
  }
}
#sec04 .sec04_phase_01 {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  z-index: 0;
}
#sec04 .sec04_phase_01 h3 {
  display: flex;
  gap: 15px;
  align-items: center;
  padding-bottom: 20px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  position: relative;
}
@media (max-width: 768px) {
  #sec04 .sec04_phase_01 h3 {
    padding-top: 20px;
    padding-left: 20px;
    padding-bottom: 0;
    border-bottom: none;
    border-top: 1px solid #fff;
  }
}
#sec04 .sec04_phase_01 ul.sec04_check01 {
  display: block;
  margin-top: 20px;
}
@media (max-width: 768px) {
  #sec04 .sec04_phase_01 ul.sec04_check01 {
    margin-top: 0;
    padding: 20px 20px 50px;
    border-right: 1px solid #fff;
  }
}
#sec04 .sec04_phase_01 ul.sec04_check01 li {
  line-height: 1.2em;
  background-image: url(../../img/icon_check_gr.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 20px auto;
  padding: 2% 0 2% 30px;
}
@media (max-width: 768px) {
  #sec04 .sec04_phase_01 ul.sec04_check01 li {
    background-size: 20px auto;
    padding: 3% 0 3% 30px;
  }
}
#sec04 .sec04_phase_02 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: -1px;
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
  #sec04 .sec04_phase_02 {
    margin-left: 0;
  }
}
#sec04 .sec04_phase_02 h3 {
  display: flex;
  gap: 15px;
  align-items: center;
  padding-bottom: 20px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  background: linear-gradient(90deg, rgb(1, 12, 23) 1%, rgba(1, 12, 23, 0) 1%);
  margin-left: -1px;
}
@media (max-width: 768px) {
  #sec04 .sec04_phase_02 h3 {
    margin-left: initial;
    background: none;
    padding-left: 20px;
    padding-top: 20px;
    padding-bottom: 0;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    border-bottom: 0;
    border-right: 0;
  }
}
#sec04 .sec04_phase_02 ul.sec04_check02 {
  display: block;
  margin-top: 20px;
  margin-left: 30px;
}
@media (max-width: 768px) {
  #sec04 .sec04_phase_02 ul.sec04_check02 {
    margin-top: 0;
    margin-left: 0;
    padding: 20px 20px 50px;
    border-left: 1px solid #fff;
  }
}
#sec04 .sec04_phase_02 ul.sec04_check02 li {
  line-height: 1.2em;
  background-image: url(../../img/icon_check_em.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 20px auto;
  padding: 2% 0 2% 30px;
}
@media (max-width: 768px) {
  #sec04 .sec04_phase_02 ul.sec04_check02 li {
    background-size: 20px auto;
    padding: 3% 0 3% 30px;
  }
}
#sec04 .sec04_phase_03 {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-left: -1px;
  position: relative;
  z-index: 3;
}
@media (max-width: 768px) {
  #sec04 .sec04_phase_03 {
    margin-left: 0;
  }
}
#sec04 .sec04_phase_03 h3 {
  display: flex;
  gap: 15px;
  align-items: center;
  padding-bottom: 20px;
  border-bottom: 1px solid #fff;
  background-image: linear-gradient(90deg, rgb(1, 12, 23) 1%, rgba(1, 12, 23, 0) 1%), url(../../img/sec04_h3bg02.svg);
  background-position: left bottom, right bottom;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% auto, auto;
  margin-left: -1px;
}
@media (max-width: 768px) {
  #sec04 .sec04_phase_03 h3 {
    border-left: 0;
    border-bottom: 0;
    padding-top: 20px;
    border-top: 1px solid #fff;
    margin-left: initial;
    background-image: none;
    padding-left: 20px;
    position: relative;
  }
  #sec04 .sec04_phase_03 h3::after {
    content: url(../../img/sec04_h3bg02.svg);
    position: absolute;
    display: inline-block;
    right: 0;
    top: 0;
    transform: rotateX(180deg);
    transform-origin: 0% 38%;
  }
}
#sec04 .sec04_phase_03 ul.sec04_check03 {
  display: block;
  margin-top: 20px;
  margin-left: 30px;
}
@media (max-width: 768px) {
  #sec04 .sec04_phase_03 ul.sec04_check03 {
    margin: 0;
    padding: 20px;
  }
}
#sec04 .sec04_phase_03 ul.sec04_check03 li {
  line-height: 1.2em;
  background-image: url(../../img/icon_check_bl.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 20px auto;
  padding: 2% 0 2% 30px;
}

/* ---------------------------------------------

sec07

---------------------------------------------- */
#sec07 {
  display: block;
  width: 100%;
  height: auto;
  background-image: url(../../img/sec07_bg01.png), url(../../img/sec07_bg02.png), url(../../img/sec01_bg02.svg);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: left 5% top 3%, right center, left 3% bottom;
  background-size: 10% auto, 30% auto, 35% auto;
  padding: 0 0 100px;
}
@media (max-width: 768px) {
  #sec07 {
    background-position: left 5% top 3%, right top, left 0 bottom;
    background-size: 10% auto, 73% auto, 100% auto;
  }
}
#sec07 .sec07_schedule {
  display: flex;
  justify-content: space-around;
  align-items: stretch;
  width: 85%;
  gap: 20px;
  margin: 0 auto 30px;
}
@media (max-width: 768px) {
  #sec07 .sec07_schedule {
    flex-direction: column;
    width: 92%;
    gap: 10px;
  }
}
#sec07 .sec07_schedule h3 {
  font-family: "ZenKakuGN_tate" sans-serif;
  writing-mode: vertical-rl;
  text-orientation: upright;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 768px) {
  #sec07 .sec07_schedule h3 {
    padding: 8px 8px;
    box-sizing: border-box;
    font-family: "ZenKakuGN" sans-serif;
    writing-mode: initial;
    text-orientation: initial;
  }
}
#sec07 .sec07_schedule > div {
  flex: 1;
}
#sec07 .sec07_schedule > div > div {
  display: flex;
  align-items: center;
  gap: 15px;
  background: var(--unnamed-color-010c17) 0% 0% no-repeat padding-box;
  background: rgba(200, 200, 200, 0.5) 0% 0% no-repeat padding-box;
  opacity: 1;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  margin-bottom: 15px;
  padding: 10px 15px;
}
#sec07 .sec07_schedule > div > div:last-of-type {
  margin-bottom: 0;
}
#sec07 .sec07_schedule > div > div p {
  flex: 1;
}
#sec07 .sec07_schedule > div > div .phese_icon {
  padding: 3px 10px;
}
@media (max-width: 768px) {
  #sec07 .sec07_schedule > div > div {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 10px;
    gap: 8px;
  }
}

/* ---------------------------------------------

sec05

---------------------------------------------- */
#sec05 {
  display: block;
  width: 100%;
  height: auto;
  background-image: url(../../img/sec05_bg01.jpg);
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 100px 0;
}
#sec05 .sec05_box_r {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: calc(1200px + 50% - 600px);
  margin-left: auto;
  max-width: 100%;
  background-color: #010c17;
  margin-bottom: 80px;
}
@media (max-width: 768px) {
  #sec05 .sec05_box_r {
    flex-direction: column-reverse;
    margin-bottom: 40px;
  }
}
#sec05 .sec05_box_r div:first-of-type {
  padding: 30px;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  flex: 1;
}
#sec05 .sec05_box_r div:first-of-type .phese_icon {
  padding: 3px 10px;
  margin-right: 10px;
  margin-bottom: 10px;
  display: inline-block;
}
#sec05 .sec05_box_r div:first-of-type .phese_icon:last-of-type {
  margin-right: 0;
}
@media (max-width: 768px) {
  #sec05 .sec05_box_r div:first-of-type {
    padding: 20px;
  }
}
#sec05 .sec05_box_r div:last-of-type {
  width: 50%;
}
#sec05 .sec05_box_r div:last-of-type img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%; /* 横幅の指定 */
  aspect-ratio: 4/3; /* ここにアスペクト比を入れる */
}
@media (max-width: 768px) {
  #sec05 .sec05_box_r div:last-of-type {
    width: 100%;
  }
}
#sec05 .sec05_box_l {
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: center;
  width: calc(1200px + 50% - 600px);
  margin-right: calc(50% - 600px);
  max-width: 100%;
  background-color: #010c17;
  margin-bottom: 80px;
}
@media (max-width: 768px) {
  #sec05 .sec05_box_l {
    flex-direction: column-reverse;
    margin-bottom: 40px;
  }
}
#sec05 .sec05_box_l:last-of-type {
  margin-bottom: 0px;
}
#sec05 .sec05_box_l div:first-of-type {
  padding: 30px;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  flex: 1;
}
#sec05 .sec05_box_l div:first-of-type .phese_icon {
  padding: 3px 10px;
  margin-right: 10px;
  display: inline-block;
  margin-bottom: 10px;
}
#sec05 .sec05_box_l div:first-of-type .phese_icon:last-of-type {
  margin-right: 0;
}
@media (max-width: 768px) {
  #sec05 .sec05_box_l div:first-of-type {
    padding: 20px;
  }
}
#sec05 .sec05_box_l div:last-of-type {
  width: 50%;
}
#sec05 .sec05_box_l div:last-of-type img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%; /* 横幅の指定 */
  aspect-ratio: 4/3; /* ここにアスペクト比を入れる */
}
@media (max-width: 768px) {
  #sec05 .sec05_box_l div:last-of-type {
    width: 100%;
  }
}
#sec05 .sec05_chara01 {
  position: absolute;
  left: 36%;
  top: -5%;
  width: 10%;
  height: auto;
}
@media (max-width: 768px) {
  #sec05 .sec05_chara01 {
    right: 7%;
    left: initial;
    top: 65vw;
    width: 17%;
  }
}
#sec05 .sec05_chara02 {
  position: absolute;
  right: 5%;
  top: -5%;
  width: 10%;
  height: auto;
}
@media (max-width: 768px) {
  #sec05 .sec05_chara02 {
    right: 7%;
    top: 65vw;
    width: 17%;
  }
}
#sec05 .sec05_chara03 {
  position: absolute;
  left: 36%;
  top: -5%;
  width: 10%;
  height: auto;
}
@media (max-width: 768px) {
  #sec05 .sec05_chara03 {
    right: 7%;
    left: initial;
    top: 65vw;
    width: 17%;
  }
}
#sec05 .sec05_chara04 {
  position: absolute;
  right: 5%;
  top: -5%;
  width: 10%;
  height: auto;
}
@media (max-width: 768px) {
  #sec05 .sec05_chara04 {
    right: 7%;
    top: 65vw;
    width: 17%;
  }
}
#sec05 .sec05_chara05 {
  position: absolute;
  left: 36%;
  top: -5%;
  width: 10%;
  height: auto;
}
@media (max-width: 768px) {
  #sec05 .sec05_chara05 {
    right: 7%;
    left: initial;
    top: 65vw;
    width: 17%;
  }
}
#sec05 .sec05_chara06 {
  position: absolute;
  right: 5%;
  top: -5%;
  width: 10%;
  height: auto;
}
@media (max-width: 768px) {
  #sec05 .sec05_chara06 {
    right: 7%;
    top: 65vw;
    width: 17%;
  }
}

/* ---------------------------------------------

sec08

---------------------------------------------- */
#sec08 {
  display: block;
  width: 100%;
  height: auto;
  background-image: url(../../img/sec08_bg01.png), url(../../img/sec01_bg02.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: left 5% bottom 3%, right bottom;
  background-size: 35% auto, 35% auto;
  padding: 100px 0;
}
@media (max-width: 768px) {
  #sec08 {
    background-position: left 5% top 3%, right -170% bottom;
    background-size: 90% auto, 90% auto;
    padding: 100px 0 50px;
  }
}
#sec08 .sec08_box {
  display: flex;
  width: 80%;
  max-width: 100%;
  margin: 50px auto 0;
  justify-content: center;
}
@media (max-width: 768px) {
  #sec08 .sec08_box {
    flex-direction: column;
    width: 90%;
  }
}
#sec08 .sec08_box .sec08_box_l {
  width: 50%;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 30px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  padding: 5% 5% 5% 0;
  position: relative;
}
#sec08 .sec08_box .sec08_box_l h3 {
  display: flex;
  gap: 15px;
  align-items: center;
  padding-bottom: 20px;
  position: relative;
}
@media (max-width: 768px) {
  #sec08 .sec08_box .sec08_box_l h3 {
    flex-direction: column;
    gap: 0;
  }
  #sec08 .sec08_box .sec08_box_l h3 img {
    width: 25%;
    max-width: 100px;
    height: auto;
  }
}
@media (max-width: 768px) {
  #sec08 .sec08_box .sec08_box_l {
    width: 100%;
    align-items: center;
  }
}
#sec08 .sec08_box .sec08_box_r {
  width: 50%;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 30px;
  border-top: 1px solid #fff;
  padding: 5% 0 5% 5%;
  position: relative;
}
#sec08 .sec08_box .sec08_box_r div {
  position: relative;
}
#sec08 .sec08_box .sec08_box_r::after {
  position: absolute;
  right: 0;
  top: -19px;
  content: url(../../img/sec04_h3bg02.svg);
}
@media (max-width: 768px) {
  #sec08 .sec08_box .sec08_box_r::after {
    display: inline-block;
    transform: rotate(90deg);
    transform-origin: 0% 73%;
    right: initial;
    top: initial;
    left: 0;
    bottom: 0;
  }
}
#sec08 .sec08_box .sec08_box_r h3 {
  display: flex;
  gap: 15px;
  align-items: center;
  padding-bottom: 20px;
  position: relative;
}
@media (max-width: 768px) {
  #sec08 .sec08_box .sec08_box_r h3 {
    flex-direction: column;
    gap: 0;
  }
  #sec08 .sec08_box .sec08_box_r h3 img {
    width: 25%;
    max-width: 100px;
    height: auto;
  }
}
#sec08 .sec08_box .sec08_box_r .sec08_chara {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 50%;
  height: auto;
}
@media (max-width: 768px) {
  #sec08 .sec08_box .sec08_box_r .sec08_chara {
    position: relative;
    right: initial;
    bottom: initial;
    width: 100%;
    height: auto;
    text-align: right;
    display: block;
  }
  #sec08 .sec08_box .sec08_box_r .sec08_chara img {
    width: 50%;
  }
}
@media (max-width: 768px) {
  #sec08 .sec08_box .sec08_box_r {
    width: 100%;
    align-items: center;
    padding-bottom: 50px;
    border-left: 1px solid #fff;
  }
}

/* ---------------------------------------------

sec09

---------------------------------------------- */
#sec09 {
  display: block;
  width: 100%;
  height: auto;
  background-image: url(../../img/sec09_bg01.jpg);
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 100px 0;
}
#sec09 .sec09_box {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 3%;
  width: 100%;
  max-width: 100%;
}
@media (max-width: 768px) {
  #sec09 .sec09_box {
    flex-direction: column;
    gap: 30px;
  }
}
#sec09 .sec09_box div {
  position: relative;
}
#sec09 .sec09_box div:first-of-type {
  padding-left: 5%;
  width: 50%;
}
@media (max-width: 768px) {
  #sec09 .sec09_box div:first-of-type {
    width: 100%;
    padding-left: initial;
  }
}
#sec09 .sec09_box div:last-of-type {
  width: 45%;
  height: 100%;
}
@media (max-width: 768px) {
  #sec09 .sec09_box div:last-of-type {
    width: 92%;
    margin: 0 auto;
    padding-left: initial;
  }
}
#sec09 .sec09_box div:last-of-type img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%; /* 横幅の指定 */
  aspect-ratio: 4/3; /* ここにアスペクト比を入れる */
}
#sec09 .sec09_box div table {
  width: 100%;
  box-sizing: border-box;
  border-top: 1px solid #fff;
  table-layout: fixed;
}
@media (max-width: 768px) {
  #sec09 .sec09_box div table {
    width: 92%;
    margin: 0 auto;
  }
}
#sec09 .sec09_box div table tbody {
  width: 100%;
  margin: 0;
}
#sec09 .sec09_box div table tbody tr {
  border-bottom: 1px solid #fff;
}
#sec09 .sec09_box div table tbody tr th {
  padding: 15px 15px 15px 0;
  text-align: left;
  width: 25%;
}
@media (max-width: 768px) {
  #sec09 .sec09_box div table tbody tr th {
    display: block;
    width: 100%;
    padding-bottom: 0;
  }
}
#sec09 .sec09_box div table tbody tr td {
  padding: 15px 0;
  text-align: left;
}
@media (max-width: 768px) {
  #sec09 .sec09_box div table tbody tr td {
    display: block;
    width: 100%;
  }
}

/* ---------------------------------------------

sec10

---------------------------------------------- */
#sec10 {
  display: none;
}

/* ---------------------------------------------

audition-form

---------------------------------------------- */
#audition-form {
  display: block;
  color: #010c17;
  width: 100%;
  height: auto;
  background-image: url(../../img/secform_bgo1.jpg);
  background-position: center bottom;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 100px 0;
}

/*-------------------------------------------------------------------
 audition-form
------------------------------------------------------------------- */
.formFooter-wrapper {
  z-index: -10;
}

.form-all {
  border-radius: 0 !important;
  box-shadow: none !important;
  background: initial !important;
}

.form-label {
  position: relative;
  padding-left: 55px;
}
.form-label a {
  color: #3983FF;
  text-decoration: underline;
}
.form-label a:hover {
  text-decoration: none;
}

.form-required {
  color: #fff !important;
}
.form-required::before {
  position: absolute;
  left: 0;
  content: "必須";
  display: inline-flex;
  width: auto;
  justify-content: center;
  align-items: center;
  padding: 3px 8px;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  background: linear-gradient(to left, #74CC00, #3983FF);
}

.form-optional {
  color: #fff !important;
}
.form-optional::before {
  position: absolute;
  left: 0;
  content: "任意";
  display: inline-flex;
  width: auto;
  justify-content: center;
  align-items: center;
  padding: 3px 8px;
  font-size: 14px;
  border-radius: 5px;
  color: #fff;
  background: #979797;
}

.formFooter-button, .submit-button {
  background: linear-gradient(to left, #74CC00 0%, #3983FF 100%) !important;
  font-size: 20px !important;
  border-radius: 50px !important;
  border: none !important;
  position: relative;
  transition: 0.3s;
}
.formFooter-button:hover, .submit-button:hover {
  background: linear-gradient(to left, #74CC00 50%, #3983FF 100%) !important;
}

.corinthia__header .corinthia {
  bottom: 20px;
}

.audition-form__container {
  padding: 0 20px;
}

.audition-form__step__list-item-wrap .audition-form__step__list-item__L .inner {
  height: -moz-max-content;
  height: max-content;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

.audition-form__step__list-item-wrap .audition-form__step__list-item__R {
  width: calc(100% - 50px);
}

.audition-form__step__list-item-wrap .audition-form__step__list-item__R .txt20 {
  color: #9A70B8;
}

.audition-form__step__list-item-wrap .audition-form__step__list-item__R .txt20 {
  color: #9A70B8;
}

.audition-form__step__list-item-wrap.active .audition-form__step__list-item__R .txt20 {
  color: white;
}

.form-group {
  position: relative;
  padding: 20px 0;
}

.form-group:not(:last-of-type) {
  padding-bottom: 20px;
  border-bottom: none;
}

#confirm-form .form-group:not(:last-of-type) {
  border-bottom: none;
}

.form-group::before, .privacy-read::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background: #A5A5A5;
}

.form-group .form-group__itemname {
  width: 31%;
  line-height: 1.7;
  padding-bottom: 0;
}

.form-group__required {
  display: inline-block;
  font-size: 14px;
  margin-left: 0.8rem;
  padding: 2px 6px;
  margin: 0 0 0 auto;
  color: #fff;
  background: linear-gradient(to left, #74CC00, #3983FF);
  border-radius: 5px;
}

.form-group .form-control {
  width: calc(69% - 40px);
  margin: 0 0 0 40px;
}

.form-group .form-control + .form-sub-group {
  margin: 0 0 0 40px;
}

.form-group .form-control + .form-sub-group .form-group__form-check-inner, .form-group .form-group__detail-wrap .mul-other-text {
  margin: 0;
}

.form-sub-group__text {
  margin: 10px 0;
}

.form-sub-group__text.telsubTxt {
  width: 65%;
  margin: 10px 0 0 auto;
  color: #cf6068;
}

.form-group .form-control {
  border: solid 1px #999999;
  background-color: #FFF;
  padding: 10px 15px;
  border-radius: 5px;
}

.form-group .form-group__required.optional {
  background: #999999;
}

.form-group .form-group__form-check-inner {
  margin: 0 0 0 40px;
  line-height: 1.7;
  padding-top: 10px;
  width: 100%;
}

.form-group.sex .form-group__form-check-inner, .form-group.result .form-group__form-check-inner {
  width: unset;
}

.form-group .form-check .form-check-label:before {
  top: 0;
  left: 0;
  transform: translate(0, -5px);
  width: 26px;
  height: 26px;
}

.form-group.age .form-group__form-check-inner .form-check .form-check-label:after {
  left: -71px;
}

.form-group .form-check .form-check-label:after {
  top: 2.5px;
  right: 0;
  bottom: 0;
  left: -70px;
  margin: auto;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #9A70B8;
}

.form-group.result .form-check .form-check-label:after {
  left: -43px;
}

.form-group.job .form-check:nth-child(1) .form-check-label:after {
  left: -43px;
}

.form-group.job .form-check:nth-child(2) .form-check-label:after {
  left: -86px;
}

.form-group.job .form-check:nth-child(3) .form-check-label:after, .form-group.job .form-check:nth-child(4) .form-check-label:after {
  left: -57px;
}

.form-group.job .form-check:nth-child(3) .form-check-label:after, .form-group.job .form-check:nth-child(4) .form-check-label:after {
  left: -57px;
}

.form-group.age .form-check .form-check-label:after {
  top: -7px;
}

.form-group.sex .form-group__form-check-inner .form-check .form-check-label:after {
  left: -43px;
  bottom: 10px;
}

.form-group.prefecture .form-check:nth-child(1) .form-check-label:after {
  bottom: 9px;
  left: -85px;
}

.form-group.prefecture .form-check:nth-child(2) .form-check-label:after {
  bottom: 9px;
  left: -99px;
}

.checkbox-mul-wrap .checkbox-label::before {
  background: #fff;
  border: 1px solid #222222;
  content: "";
  display: block;
  position: absolute;
  width: 26px;
  height: 26px;
  left: 0;
  top: 0;
  border-radius: 5px;
}

.checkbox-mul-wrap .checkbox-label::after {
  top: 2px;
  background: #9A70B8;
  border-radius: 5px;
}

.form-group .form-check .form-check-label, .checkbox-mul-wrap .checkbox-label {
  padding-left: 41px;
}

.form-group.job .form-check, .form-group.result .form-check {
  line-height: 1;
}

.form-group .form-control.select-wrap::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background: url(../img/cmn/icon.svg) no-repeat;
  right: 15px;
}

textarea, input[type=number], input[type=text], input[type=tel], input[type=email], input[type=date] {
  font-size: 14px;
}

.privacy-read {
  position: relative;
  padding: 20px 0;
  border: 0;
}

.privacy-read h4:nth-of-type(2), .privacy-read h4:nth-of-type(3) {
  padding-top: 10px;
}

.checkbox-wrap .checkbox-label {
  margin-top: 10px;
}

.checkbox-wrap .checkbox-label {
  padding: 0 0 40px 45px;
}

.checkbox-wrap .checkbox-label::before {
  background: #fff;
  border: 1px solid #222222;
  content: "";
  display: block;
  position: absolute;
  width: 26px;
  height: 26px;
  left: 5px;
  top: 0;
  margin-top: 3px;
  border-radius: 5px;
}

.form-btn-wrap {
  display: block;
  max-width: 300px;
  width: 100%;
  margin: 0 auto;
}

.btn-primary {
  text-align: center;
  height: 60px;
  padding: 0;
  color: #fff;
  display: block;
  transition: all 0.3s ease-out;
  width: 100%;
  max-width: 300px;
}

.btn-primary:hover {
  transform: scale(1.1);
}

.btn-primary:disabled {
  background: linear-gradient(to left, #74CC00, #3983FF);
  border-radius: 30px;
}

.btn-primary::after {
  display: none;
}

.countSpanWrapper {
  display: none;
}

.checkbox-wrap .checkbox-label::after {
  width: 22px;
  height: 22px;
  top: 5px;
  left: 7.5px;
  margin: auto;
  border-radius: 5px;
  margin-top: 0;
  background: #9A70B8;
}

.btn-primary {
  background: linear-gradient(to left, #74CC00, #3983FF);
}

.form-sub-group .form-group::before, .form-sub-group .form-group::after {
  display: none;
}

@media screen and (max-width: 986px) {
  .audition__header.mt100 {
    margin-top: 50px;
  }
  .txt160 {
    font-size: 80px;
  }
}
@media screen and (max-width: 768px) {
  .form-group__required {
    margin: 0 auto 0 10px;
  }
  .form-sub-group__text.telsubTxt {
    width: 100%;
  }
  .form-group .form-group__itemname {
    width: 100%;
    padding-bottom: 10px;
  }
  .form-group .form-control {
    width: 100%;
    margin: 0;
  }
  .form-group .form-control + .form-sub-group {
    margin: 0;
  }
  .form-group .form-group__form-check-inner {
    margin: 0;
  }
  .audition-form .form-group .form-check {
    margin-right: 20px;
  }
}
@media screen and (max-width: 540px) {
  .txt160 {
    font-size: 60px;
  }
  .audition__header.pt100 {
    padding-top: 20px;
  }
  .audition-form__step__list-item-wrap {
    max-width: 200px;
    margin: 0 auto;
  }
  .audition-form__step {
    margin: 20px auto 20px;
    gap: 4px;
  }
  .btn-primary:disabled {
    margin-bottom: 50px;
  }
  .form-group {
    padding: 10px 0;
  }
  .audition-form .form-group .form-check {
    margin-bottom: 5px;
  }
  .form-group .form-sub-group .form-group {
    padding: 0;
  }
}
/*-------------------------------------------------------------------
  confirm
------------------------------------------------------------------- */
#header.header.form {
  height: -moz-max-content;
  height: max-content;
  padding: 50px 0;
}

.audition-form {
  background: white;
}

.confirm-btn-wrap .btn-success, .confirm-btn-wrap .btn-secondary {
  width: 100%;
  background: #9A70B8;
  border-radius: 30px;
  height: 60px;
}

.btn-complete {
  height: 60px;
  width: 100%;
  max-width: 300px;
  background: #9A70B8;
  border-radius: 30px;
}

/*-------------------------------------------------------------------
  form
------------------------------------------------------------------- */
#footer {
  display: block;
  width: 100%;
  height: auto;
  background-image: url(../../img/sec01_bg02.svg);
  background-position: left -20% center;
  background-size: auto;
  background-repeat: no-repeat;
  padding: 50px 0;
}
@media (max-width: 540px) {
  #footer {
    padding: 50px 0 100px;
  }
}
#footer .footer__logo-inner {
  display: block;
  width: 40%;
  height: auto;
  margin: auto;
}
@media (max-width: 540px) {
  #footer .footer__logo-inner {
    width: 70%;
  }
}
#footer a {
  text-decoration: underline;
}
#footer a:hover {
  text-decoration: none;
}

/* ---------------------------------------------

privacypolicy

---------------------------------------------- */
.privacy__page {
  background-image: url(../../img/sec01_bg02.svg);
  background-position: right top -20%;
  background-size: auto 40%;
  background-repeat: no-repeat;
}

.privacy__header {
  width: auto;
  max-width: 80%;
  padding: 100px 0 30px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .privacy__header {
    width: 92%;
    padding: 30px 0 50px;
  }
}

.privacy__content {
  width: 60%;
  padding: 50px 0 100px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .privacy__content {
    width: 92%;
    padding: 30px 0 50px;
  }
}
.privacy__content .privacy__item {
  padding-top: 15px;
  padding-bottom: 34px;
}
.privacy__content .privacy__item:not(:last-of-type) {
  border-bottom: 1px solid #fff;
}
.privacy__content .privacy__title {
  margin-bottom: 11px;
  line-height: 1.3333333333;
  letter-spacing: 0.04em;
}
.privacy__content .privacy__text {
  line-height: 1.8461538462;
  letter-spacing: 0.04em;
}
.privacy__content .privacy_link a {
  text-decoration: underline;
  color: #3983FF;
}
.privacy__content .privacy_link a:hover {
  text-decoration: none;
}/*# sourceMappingURL=style.css.map */