@charset "UTF-8";
/*!
global > color
------------------------------
*/
/*!
global > content-width
------------------------------
*/
/*!
global > font
------------------------------
*/
/*!
global > mixin
------------------------------
*/
/*!
page > common > common
------------------------------
*/
/*!
page > top > common
------------------------------
*/
.main {
  /* padding-top:70px; */
  height: 100vh;
  background-color: #efefef;
  position: relative;
}
.main::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.5);
}
.main .container {
  height: 100vh;
}
.main_title {
  position: absolute;
  top: 50%;
  z-index: 2;
  left: 20px;
  color: #fff;
  font-size: min(7.2vw, 40px);
  text-shadow: 1px 1px #222;
  font-family: "Murecho", sans-serif;
  font-weight: bold;
  line-height: 1.2;
}
@media screen and (min-width: 1024px) {
  .main_title {
    font-size: 50px;
  }
}
.main_title span {
  font-size: min(5.3333333333vw, 25px);
  display: block;
}
@media screen and (min-width: 1024px) {
  .main_title span {
    font-size: 25px;
  }
}

.video {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  /*     iframe {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 1000vw;
      height: 100vh;
      transform: translate(-50%, -50%);
      pointer-events: none;
      /* 動画操作不可にしたいとき（必要なら外してOK） */
  /*object-fit: cover;

      @media screen and (min-width: 1024px) {
          width: 151%;
          height: 120%;
      }
  } */
}
.video video {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  height: 100vh;
  transform: translate(-50%, -50%);
  pointer-events: none;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 1024px) {
  .video video {
    width: 151%;
    height: 120%;
  }
}

.color01 {
  background-color: #6BBEF6;
}

.color02 {
  background-color: #F05681;
}

.color03 {
  background-color: #FF9870;
}

.color04 {
  background-color: #80D4AC;
}

.color05 {
  background-color: #A682E5;
}

.color06 {
  background-color: #325CE3;
}

.color07 {
  background-color: #FCE7A0;
}

.color08 {
  background-color: #608CF2;
}

.color09 {
  background-color: #EA7070;
}

.color10 {
  background-color: #8af2f6;
}

.text_color01 {
  color: #325CE3;
}

.text_color02 {
  color: #ff316a;
}

.text_color03 {
  color: #8af2f6;
}

.text_color04 {
  color: #fff;
}

.type02_btn {
  /*矢印付きボタン*/
  font-size: min(4.2666666667vw, 27px);
  width: min(64vw, 416px);
  height: 10.6666666667vw;
  display: flex;
  align-items: center;
  margin: 0 auto;
  border-radius: min(10.6666666667vw, 69px);
  position: relative;
  box-shadow: 2px 2px rgba(44, 47, 47, 0.5);
}
@media screen and (min-width: 1024px) {
  .type02_btn {
    border-radius: 40px;
    width: 15.625vw;
    min-width: 180px;
    height: 3.6458333333vw;
    font-size: 0.9375vw;
  }
}
.type02_btn::after {
  /*白丸*/
  content: "";
  position: absolute;
  height: min(8vw, 52px);
  width: min(8vw, 52px);
  background-color: #fff;
  border-radius: 50px;
}
@media screen and (min-width: 1024px) {
  .type02_btn::after {
    height: 2.6041666667vw;
    width: 2.6041666667vw;
    transition: right 0.5s ease;
  }
}
.type02_btn::before {
  /*矢印箇所*/
  content: "";
  position: absolute;
  width: min(4.2666666667vw, 27px);
  height: min(4.2666666667vw, 27px);
  background-size: cover;
  right: 10px;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  .type02_btn::before {
    width: 1.0416666667vw;
    height: 1.0416666667vw;
    transition: right 0.41s ease;
  }
}
.type02_btn.btn_container_01 {
  /*ボタン青*/
  padding: 0 0 0 min(6.6666666667vw, 60px);
  background-color: #325CE3;
  width: min(69.3333333333vw, 440px);
}
@media screen and (min-width: 1024px) {
  .type02_btn.btn_container_01 {
    padding: 0 0 0 1.5625vw;
    width: 16.6666666667vw;
    /*ホバーアクション*/
  }
  .type02_btn.btn_container_01:hover::after {
    transition: right 0.5s ease;
    right: 1.4583333333vw;
  }
  .type02_btn.btn_container_01:hover::before {
    transition: right 0.41s ease;
    right: 2.1875vw;
  }
}
.type02_btn.btn_container_01::after {
  /*白丸位置*/
  right: min(5.8666666667vw, 38px);
}
@media screen and (min-width: 1024px) {
  .type02_btn.btn_container_01::after {
    right: 1.7708333333vw;
  }
}
.type02_btn.btn_container_01::before {
  /*矢印画像*/
  background-image: url("../images/top/arrow01.png");
  right: min(7.4666666667vw, 48px);
}
@media screen and (min-width: 1024px) {
  .type02_btn.btn_container_01::before {
    right: 2.5vw;
  }
}
.type02_btn.btn_container_02 {
  /*ボタン黄色*/
  padding: 0 0 0 min(6.6666666667vw, 60px);
  background-color: #FCE7A0;
  margin: min(6.6666666667vw, 60px) auto min(9.3333333333vw, 70px);
}
@media screen and (min-width: 1024px) {
  .type02_btn.btn_container_02 {
    padding: 0 0 0 1.5625vw;
    margin: 2.6041666667vw auto;
    /*ホバーアクション*/
  }
  .type02_btn.btn_container_02:hover::after {
    transition: right 0.5s ease;
    right: 1.4583333333vw;
  }
  .type02_btn.btn_container_02:hover::before {
    transition: right 0.41s ease;
    right: 2.1875vw;
  }
}
.type02_btn.btn_container_02::after {
  /*白丸位置*/
  background-color: #2C2F2F;
  right: min(5.8666666667vw, 38px);
}
@media screen and (min-width: 1024px) {
  .type02_btn.btn_container_02::after {
    right: 1.7708333333vw;
  }
}
.type02_btn.btn_container_02::before {
  /*矢印画像*/
  background-image: url("../images/top/arrow02.png");
  right: min(7.4666666667vw, 48px);
}
@media screen and (min-width: 1024px) {
  .type02_btn.btn_container_02::before {
    right: 2.5vw;
  }
}

.section_title {
  /*h5の見出し*/
  font-size: min(6.4vw, 40px);
  text-align: center;
  text-shadow: 2px 2px rgba(44, 47, 47, 0.5);
  font-family: "vdl-logojrblack", sans-serif;
}
@media screen and (min-width: 1024px) {
  .section_title {
    font-size: 2.5vw;
  }
}
.section_title.section03_title {
  /*黄色*/
  color: #FCE7A0;
  margin: 4vw auto;
  width: 80%;
}
@media screen and (min-width: 1024px) {
  .section_title.section03_title {
    margin: 0.78125vw auto;
  }
}
.section_title.section04_title {
  /*紫*/
  color: #fff;
  margin: 4vw auto;
  background-color: #A682E5;
  border-radius: min(5.3333333333vw, 40px);
  width: 80%;
}
@media screen and (min-width: 1024px) {
  .section_title.section04_title {
    margin: 0 auto 1.8229166667vw;
    border-radius: 40px;
  }
}
.section_title.section05_title {
  /*オレンジ*/
  color: #fff;
  margin: 4vw auto;
  background-color: #FF9870;
  border-radius: min(5.3333333333vw, 40px);
  width: 95%;
}
@media screen and (min-width: 1024px) {
  .section_title.section05_title {
    margin: 0 auto 1.8229166667vw;
    width: 80%;
    border-radius: 40px;
  }
}
.section_title.section06_title {
  /*水色*/
  color: #FCE7A0;
  margin: 4vw 0;
  border-radius: 20px;
}
@media screen and (min-width: 1024px) {
  .section_title.section06_title {
    margin: 0 auto 1.8229166667vw;
  }
}

@media screen and (min-width: 1024px) {
  /* スクロール用タグ */
  .scroll_content {
    overflow-y: scroll;
    border-radius: 40px;
  }
  .scroll_content.green {
    height: 47.03125vw;
    min-height: 560px;
    width: 27.6041666667vw;
    border-radius: unset;
  }
  .scroll_content.orange {
    border-radius: 0;
    height: 33.6458333333vw;
    max-height: 560px;
    width: 39.9479166667vw;
    background-color: #FF9870;
    border-radius: 0 0 30px;
  }
  .scroll_content.blue {
    height: min(30.2734375vw, 440px);
    width: 29.6354166667vw;
    position: relative;
    left: -35px;
    top: -10px;
    border-radius: unset;
    padding: 0 10px 0 20px;
    margin-top: 2.0833333333vw;
  }
  /* Firefox用 */
  @-moz-document url-prefix() {
    .scroll_content {
      scrollbar-width: thin;
      scrollbar-color: #FCE7A0 transparent;
    }
  }
  /* Webkit系（Chrome, Safari） */
  .scroll_content {
    overflow-y: scroll;
  }
  .scroll_content::-webkit-scrollbar {
    width: 12px;
  }
  .scroll_content::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 8px;
  }
  .scroll_content::-webkit-scrollbar-thumb {
    background-color: #FCE7A0;
    border-radius: 8px;
    border: 2px solid transparent;
    background-clip: padding-box;
  }
}
/*section01*/
.section01 {
  margin: 0 0 30px;
}
.section01 .slider_btnarea {
  background-color: #FCE7A0;
  padding: 40px 0 20px 0;
  /*各ボタンのサイズ*/
}
@media screen and (min-width: 1024px) {
  .section01 .slider_btnarea {
    margin: 0 0 55px;
    justify-content: space-between;
  }
}
.section01 .slider_btnarea_container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 auto;
  width: 94.7%;
  max-width: 635px;
  font-size: min(3.2vw, 18px);
  line-height: 1.41;
  /* padding: 0 (8px/375px)*100vw; */
}
@media screen and (min-width: 1024px) {
  .section01 .slider_btnarea_container {
    justify-content: center;
    width: 77.7083333333vw;
    max-width: unset;
    font-size: 0.9375vw;
  }
}
.section01 .slider_btnarea .contentwidth {
  width: min(45.3333333333vw, 294px);
  height: min(10.6666666667vw, 69px);
  margin-bottom: 15px;
  box-shadow: 2px 2px rgba(44, 47, 47, 0.5);
  text-shadow: 2px 2px rgba(44, 47, 47, 0.5);
}
@media screen and (min-width: 1024px) {
  .section01 .slider_btnarea .contentwidth {
    width: 18.3854166667vw;
    height: 3.6458333333vw;
    margin-right: 1.0416666667vw;
  }
}
.section01 .btnarea_branch {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

/*section02　漫画コンテンツエリア*/
.section02 {
  background-color: #FCE7A0;
  text-align: center;
  font-size: min(6.4vw, 41px);
  margin: 30px 0 13.3333333333vw;
  padding: min(40vw, 200px) 0 min(40vw, 200px);
  position: relative;
}
@media screen and (min-width: 1024px) {
  .section02 {
    font-size: 2.5vw;
    padding: 6.7708333333vw 0 5.2083333333vw;
    margin: 55px 0 2.8645833333vw 0;
  }
}
.section02_title {
  /*誰もが〜*/
  margin-bottom: 8vw;
}
@media screen and (min-width: 1024px) {
  .section02_title {
    margin-bottom: 4.1666666667vw;
  }
}
.section02 .floatimg_a {
  position: absolute;
  width: 50%;
  max-width: 300px;
  top: 5%;
  left: -16px;
  animation: shake-up 3s infinite ease-in-out;
}
@media screen and (min-width: 1024px) {
  .section02 .floatimg_a {
    width: 29%;
    max-width: unset;
    top: 18%;
  }
}
.section02 .floatimg_b {
  position: absolute;
  width: 50%;
  max-width: 300px;
  right: 0;
  bottom: 3%;
  animation: shake-down 3s infinite ease-in-out;
}
@media screen and (min-width: 1024px) {
  .section02 .floatimg_b {
    width: 29%;
    max-width: unset;
    right: 0;
    bottom: unset;
    top: 18%;
  }
}
@keyframes shake-up {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(15px);
  }
}
@keyframes shake-down {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-15px);
  }
}

/*PCsize*/
.sectionwrapper {
  /*緑と紫のflex*/
}
@media screen and (min-width: 1024px) {
  .sectionwrapper {
    display: flex;
    justify-content: space-between;
    padding: 0 min(1.0416666667vw, 20px);
    margin: 55px 0;
  }
}

@media screen and (min-width: 1024px) {
  .pc__flex {
    display: flex;
    justify-content: space-between;
  }
}

/*section03 緑エリア*/
.section03 {
  padding: 8vw 20px;
  border-radius: 20px;
  background-color: #80D4AC;
  text-align: center;
  max-width: 818px;
  margin: 0 auto 55px;
  box-shadow: 4px 4px rgba(44, 47, 47, 0.5);
}
@media screen and (min-width: 1024px) {
  .section03 {
    width: 30vw;
    padding: 1.5625vw 20px;
    margin: unset;
    border-radius: 40px;
  }
}
.section03_logo {
  /*黄色い丸*/
  width: 24.5333333333vw;
  height: 24.5333333333vw;
  background-color: #FCE7A0;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  box-shadow: 2px 2px rgba(44, 47, 47, 0.5);
  /*ロゴ画像*/
}
@media screen and (min-width: 1024px) {
  .section03_logo {
    width: 7.4479166667vw;
    height: 7.4479166667vw;
  }
}
.section03_logo img {
  width: 80%;
}
.section03_text {
  font-size: min(4.2666666667vw, 24px);
}
@media screen and (min-width: 1024px) {
  .section03_text {
    font-size: 0.8333333333vw;
  }
}
.section03_whitearea {
  /*挑戦に寄り添うキャル*/
  background-color: #fff;
  border-radius: 40px;
  padding: 30px 10px;
  text-align: center;
}
.section03_whitearea_title {
  /*タイトル*/
  font-size: min(5.3333333333vw, 32px);
  margin-bottom: 20px;
}
@media screen and (min-width: 1024px) {
  .section03_whitearea_title {
    font-size: 1.25vw;
  }
}
.section03_whitearea_textarea {
  /*テキストエリア*/
  padding: 5.3333333333vw 0;
  border-bottom: 3px dashed #FCE7A0;
  border-top: 3px dashed #FCE7A0;
  font-size: min(4.2666666667vw, 24px);
}
@media screen and (min-width: 1024px) {
  .section03_whitearea_textarea {
    padding: 1.5625vw 0;
  }
}
.section03_whitearea_textarea:nth-of-type(2) {
  border-top: unset;
}
.section03_whitearea_textarea dt {
  /*タイトル*/
  background-color: #FCE7A0;
  border-radius: 10px;
  padding: 1.3333333333vw 4vw;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 15px;
}
@media screen and (min-width: 1024px) {
  .section03_whitearea_textarea dt {
    font-size: 0.8333333333vw;
  }
}
.section03_whitearea_textarea dd {
  /*テキスト*/
  text-align: left;
  font-weight: 500;
}
@media screen and (min-width: 1024px) {
  .section03_whitearea_textarea dd {
    font-size: 0.8333333333vw;
  }
}

/*section04 紫エリア*/
.section04 {
  border: 10px solid #A682E5;
  border-radius: 20px;
  padding: 30px 10px;
  max-width: 818px;
  margin: 0 auto 55px;
  box-shadow: 4px 4px rgba(44, 47, 47, 0.5);
}
@media screen and (min-width: 1024px) {
  .section04 {
    width: 65.8333333333vw;
    margin: unset;
    max-width: unset;
    padding: 1.0416666667vw 10px;
    border-radius: 40px;
  }
}
.section04_wrapper {
  /*紫枠*/
  position: relative;
  background-color: #A682E5;
  border-radius: 20px;
  padding: 8vw 10px;
  margin-bottom: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 1024px) {
  .section04_wrapper {
    flex-wrap: nowrap;
    padding: 2.0833333333vw 20px 3.125vw;
    width: 30.3125vw;
  }
}
.section04_wrapper.pcsize_wrapper {
  /*pcsize時イラストと左右逆転*/
}
@media screen and (min-width: 1024px) {
  .section04_wrapper.pcsize_wrapper {
    flex-direction: row-reverse;
  }
}
.section04_wrapper::after {
  /*ナンバープレート*/
  content: "";
  position: absolute;
  width: 80px;
  height: 80px;
  bottom: 0;
  right: 0;
  background-color: #6BBEF6;
  border-radius: 100px 0 0 0;
  box-shadow: 2px 2px rgba(44, 47, 47, 0.5);
}
@media screen and (min-width: 1024px) {
  .section04_wrapper::after {
    width: 5vw;
    height: 5vw;
  }
}
@media screen and (min-width: 1024px) {
  .section04_wrapper.num02::after {
    left: 0;
    border-radius: 0 100px 0 0;
  }
}
.section04_wrapper.num03 {
  padding: 3.125vw 20px 2.0833333333vw;
}
@media screen and (min-width: 1024px) {
  .section04_wrapper.num03::after {
    top: 0;
    border-radius: 0 0 0 100px;
  }
}
.section04_wrapper.num04 {
  padding: 3.125vw 20px 2.0833333333vw;
}
@media screen and (min-width: 1024px) {
  .section04_wrapper.num04::after {
    top: 0;
    left: 0;
    border-radius: 0 0 100px 0;
  }
}
.section04_number {
  /*数字*/
  position: absolute;
  font-family: "vdl-linegrpop-futoline", sans-serif;
  bottom: 0px;
  right: 20px;
  z-index: 10;
  font-size: 40px;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .section04_number {
    font-size: 2.6041666667vw;
    right: 3%;
  }
}
@media screen and (min-width: 1024px) {
  .section04_number.pc__num02 {
    font-size: 2.6041666667vw;
    left: 2%;
  }
}
@media screen and (min-width: 1024px) {
  .section04_number.pc__num03 {
    font-size: 2.6041666667vw;
    top: 0;
    right: 2%;
  }
}
@media screen and (min-width: 1024px) {
  .section04_number.pc__num04 {
    font-size: 2.6041666667vw;
    left: 2%;
    top: 0;
  }
}
.section04_img {
  /*画像*/
  position: relative;
  width: 50%;
  max-width: 150px;
  max-width: 180px;
}
.section04_textarea {
  /*テキストの範囲*/
  width: 100%;
  max-width: 300px;
  max-width: 500px;
  color: #fff;
}
.section04_textarea_title {
  margin-bottom: 15px;
  font-size: min(6.4vw, 34px);
}
@media screen and (min-width: 1024px) {
  .section04_textarea_title {
    font-size: 1.25vw;
  }
  .section04_textarea_title.textalign__change {
    text-align: right;
  }
}
.section04_textarea_text {
  font-weight: 500;
  font-size: min(4.2666666667vw, 24px);
}
@media screen and (min-width: 1024px) {
  .section04_textarea_text {
    font-size: 0.8333333333vw;
  }
}

/*section05 オレンジエリア*/
.section05 {
  border: 10px solid #FF9870;
  border-radius: 20px;
  padding: 30px 0 0;
  max-width: 818px;
  margin: 55px auto;
  box-shadow: 4px 4px rgba(44, 47, 47, 0.5);
}
@media screen and (min-width: 1024px) {
  .section05 {
    width: 65.8333333333vw;
    margin: unset;
    max-width: unset;
    padding: 1.0416666667vw 0 0;
    border-radius: 40px;
  }
}
.section05 .content_area {
  width: 100%;
  margin: 0 auto;
}
.section05 .tab-container {
  display: flex;
  width: 100%;
}
.section05 .tab {
  color: #fff;
  text-align: center;
  width: 100%;
  /*  calc(100% / 3); */
  padding: 10px;
  background-color: #F05681;
  cursor: pointer;
  transition: 0.5s all;
  border-radius: 20px 20px 0 0;
  box-shadow: 2px 2px rgba(44, 47, 47, 0.5);
  font-weight: 500;
}
@media screen and (min-width: 1024px) {
  .section05 .tab {
    font-size: 0.9375vw;
  }
}
.section05 .tab.active {
  background-color: #FF9870;
}
.section05 .content {
  display: none;
  /*必須*/
}
.section05 .content.show {
  display: block;
  /*必須*/
}
.section05 .tab-bg {
  background-image: url("../images/top/tab_bgsp.png");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding: 30px 10px;
  z-index: 2;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .section05 .tab-bg {
    background-image: url("../images/top/tab_bg.png");
    background-size: 101% 101%;
    width: 26.3020833333vw;
  }
}
.section05 .tab_img {
  display: block;
  width: 60%;
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  .section05 .tab_img {
    width: 80%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
.section05 .tab-title {
  /*SPオンリー*/
  text-align: center;
  color: #fff;
  background-color: #FF9870;
  border-radius: 40px;
  width: 50%;
  margin: 15px auto;
}
@media screen and (min-width: 1024px) {
  .section05 .tab-flex {
    display: flex !important;
  }
}
.section05 .interview {
  background-color: #FF9870;
  padding: 0 0 30px;
  margin-top: -1px;
}
@media screen and (min-width: 1024px) {
  .section05 .interview {
    width: 100%;
    padding: 0 40px 30px;
  }
}
.section05 .interview_area {
  padding: 20px 10px;
  color: #fff;
  border-bottom: 5px dashed #FCE7A0;
}
.section05 .interview_area:last-of-type {
  border-bottom: unset;
}
@media screen and (min-width: 1024px) {
  .section05 .interview_area {
    padding: 40px 10px;
  }
}
.section05 .interview_area dt {
  /*質問*/
  margin-bottom: 20px;
  font-size: min(5.3333333333vw, 28px);
}
@media screen and (min-width: 1024px) {
  .section05 .interview_area dt {
    font-size: 1.25vw;
  }
}
.section05 .interview_area dd {
  /*回答*/
  font-size: min(4.2666666667vw, 24px);
  font-weight: 500;
}
@media screen and (min-width: 1024px) {
  .section05 .interview_area dd {
    font-size: 0.8333333333vw;
  }
}

/*section06*/
.section06 {
  padding: 8vw 20px;
  border-radius: 20px;
  background-color: #6BBEF6;
  text-align: center;
  max-width: 818px;
  margin: 0 auto 35px;
  box-shadow: 4px 4px rgba(44, 47, 47, 0.5);
  /*タブ切り替え*/
}
@media screen and (min-width: 1024px) {
  .section06 {
    width: 30vw;
    padding: 4.1666666667vw 20px 0;
    margin: unset;
    border-radius: 40px;
  }
}
.section06 .tab-switch02 {
  display: flex;
  flex-wrap: wrap;
  margin: auto;
  justify-content: space-evenly;
}
.section06 .tab-switch02 > label {
  order: -1;
  position: relative;
  background-color: #80D4AC;
  text-align: center;
  cursor: pointer;
  transition: 0.3s all;
  font-weight: 500;
  border-radius: 40px;
  box-shadow: 2px 2px rgba(44, 47, 47, 0.5);
  padding: 15px 10px;
  width: 40%;
  font-size: min(4.2666666667vw, 27px);
}
@media screen and (min-width: 1024px) {
  .section06 .tab-switch02 > label {
    font-size: 0.9375vw;
  }
}
.section06 .tab-switch02 > label:hover,
.section06 .tab-switch02 label:has(:checked) {
  background-color: #FCE7A0;
}
.section06 .tab-switch02 input {
  display: none;
}
.section06 .tab-switch02 > .tab-content02 {
  display: none;
  width: 100%;
  padding: 0 5px 0 20px;
}
.section06 .tab-switch02 label:has(:checked) + div {
  display: block;
}
.section06 .recruit {
  margin-top: 40px;
  background-color: #fff;
  border-radius: 20px;
  position: relative;
  padding: 30px 10px;
}
@media screen and (min-width: 1024px) {
  .section06 .recruit {
    padding: 3.125vw 20px 50px;
  }
}
.section06 .recruit_num {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  background-color: #FCE7A0;
  width: 65px;
  height: 65px;
  font-size: min(5.3333333333vw, 32px);
  font-family: "vdl-logojrblack", sans-serif;
  border-radius: 100px;
  box-shadow: 2px 2px rgba(44, 47, 47, 0.5);
  left: -30px;
  top: -30px;
}
@media screen and (min-width: 1024px) {
  .section06 .recruit_num {
    width: 5.2083333333vw;
    height: 5.2083333333vw;
    left: -17px;
    font-size: 2.5vw;
  }
}
.section06 .recruit_content_list {
  margin-bottom: 15px;
}
.section06 .recruit dt {
  margin-bottom: 20px;
  font-size: min(5.3333333333vw, 32px);
}
@media screen and (min-width: 1024px) {
  .section06 .recruit dt {
    font-size: 1.25vw;
  }
}
.section06 .recruit dd {
  text-align: left;
  font-weight: 500;
  font-size: min(4.2666666667vw, 27px);
}
@media screen and (min-width: 1024px) {
  .section06 .recruit dd {
    font-size: 0.8333333333vw;
  }
}
.section06 .recruit_img {
  margin: 20px auto 0;
  max-width: 600px;
}
@media screen and (min-width: 1024px) {
  .section06 .recruit_img {
    margin: 40px auto 0;
    max-width: unset;
  }
}

.footer {
  background-image: url("../images/top/footer_sp.png");
  background-size: cover;
  background-position: center min(32vw, 268px);
  background-repeat: no-repeat;
  margin-top: min(8vw, 52px);
  padding: 0 0 min(9.3333333333vw, 60px);
}
@media screen and (min-width: 1024px) {
  .footer {
    background-image: url("../images/top/footer.png");
    margin-top: 13.0208333333vw;
    background-position: center;
    padding: 180px 0 50px;
  }
}
.footer .container {
  position: relative;
}
.footer .comment__pc {
  /*PCサイズキャラ立ち位置*/
}
.footer .comment__pc.r__02 {
  /*ゆめねえ側*/
  margin-top: 50px;
}
@media screen and (min-width: 1024px) {
  .footer .comment__pc {
    position: absolute;
    bottom: 0;
    width: 50%;
  }
  .footer .comment__pc.r__02 {
    /*ゆめねえ側*/
    margin-top: unset;
    right: 20px;
  }
}
.footer .comment_area {
  position: relative;
  display: flex;
  justify-content: center;
}
.footer .comment_area_challactor {
  /*キャラクター画像*/
  width: 50%;
  max-width: 300px;
}
@media screen and (min-width: 1024px) {
  .footer .comment_area_challactor {
    width: 15.625vw;
    max-width: unset;
  }
}
.footer .comment_area_challactor img {
  /*キャラクター画像*/
  width: 120%;
}
@media screen and (min-width: 1024px) {
  .footer .comment_area_challactor img {
    width: 100%;
  }
}
.footer .comment_area_challactor.p__b {
  /*ゆめねえ右側*/
}
.footer .comment_area_challactor.p__b img {
  width: 140%;
  position: relative;
  right: 20px;
  max-width: 300px;
}
@media screen and (min-width: 1024px) {
  .footer .comment_area_challactor.p__b img {
    width: 95%;
    max-width: unset;
  }
}
.footer .comment_area_text {
  /*コメントの吹き出し*/
  width: min(77.3333333333vw, 520px);
  /*エリアの幅*/
  background-image: url("../images/top/comment_01.png");
  /*画像幅*/
  background-size: min(69.3333333333vw, 450px);
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  animation: shake-up 3s infinite ease-in-out;
}
@media screen and (min-width: 1024px) {
  .footer .comment_area_text {
    width: 15.625vw;
    background-size: 18.75vw;
    top: -146px;
    left: -58px;
  }
}
.footer .comment_area_text.p__02 {
  /*ゆめねえ側コメント*/
  width: min(101.3333333333vw, 520px);
  background-image: url("../images/top/comment_02.png");
  background-size: min(60vw, 385px);
  animation: shake-down 3s infinite ease-in-out;
}
@media screen and (min-width: 1024px) {
  .footer .comment_area_text.p__02 {
    width: 15.625vw;
    background-size: 15.625vw;
    right: -55px;
    left: unset;
  }
}
.footer .comment_area_text p {
  /*コメントのテキスト*/
  color: #fff;
  position: absolute;
  top: 50%;
  left: 52%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  font-size: min(3.7333333333vw, 20px);
}
@media screen and (min-width: 1024px) {
  .footer .comment_area_text p {
    top: 49%;
    font-size: 0.7291666667vw;
  }
}
.footer .sns_area {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: min(8vw, 52px);
}
.footer .sns_area_icon {
  width: min(13.3333333333vw, 86px);
  height: min(13.3333333333vw, 86px);
  border-radius: 10px;
  box-shadow: 2px 2px rgba(44, 47, 47, 0.5);
  position: relative;
}
@media screen and (min-width: 1024px) {
  .footer .sns_area_icon {
    width: 5.2083333333vw;
    height: 5.2083333333vw;
    border-radius: 1.0416666667vw;
  }
}
.footer .sns_area_icon img {
  width: 70%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.footer .sns_area_icon.color04 img {
  width: 75%;
}
.footer .sns_area_icon.color05 img, .footer .sns_area_icon.color07 img {
  width: 55%;
}
.footer_copy {
  /*コピーライト*/
  font-weight: 500;
  text-align: center;
  margin-top: 30px;
  font-size: min(3.2vw, 20px);
}
@media screen and (min-width: 1024px) {
  .footer_copy {
    font-size: 12px;
  }
}

/*!
foundation > reset
------------------------------
*/
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
  overflow-x: hidden;
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
  overflow: hidden;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/*!
foundation > base
------------------------------
*/
body {
  line-height: 1.7;
  font-size: 1rem;
  color: #2C2F2F;
  font-family: "Murecho", sans-serif;
  font-weight: bold;
  letter-spacing: 0.1em;
  position: relative;
}

.bg-parallax {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../images/top/bg_sp.png");
  background-size: cover;
  background-position: center;
  z-index: -1;
}
@media screen and (min-width: 1024px) {
  .bg-parallax {
    background-image: url("../images/top/bg_pc.png");
  }
}

body.fixed {
  position: fixed;
  width: 100%;
  overflow: hidden;
}

.body-wrapper {
  overflow-x: hidden;
}

img {
  width: 100%;
}

.sp-only {
  display: block;
}
@media screen and (min-width: 1024px) {
  .sp-only {
    display: none;
  }
}

.pc-only {
  display: none;
}
@media screen and (min-width: 1024px) {
  .pc-only {
    display: block;
  }
}

/*!
component > footer
------------------------------
*/
/*!
component > header
------------------------------
*/
.header {
  height: min(18.6666666667vw, 121px);
  display: flex;
  align-items: center;
  position: absolute;
  z-index: 999;
}
@media screen and (min-width: 1024px) {
  .header {
    position: fixed;
    width: 90%;
    max-width: 1445px;
    height: 70px;
    margin: 20px auto 0;
    background-color: #F05681;
    border-radius: 40px;
    right: 0;
    left: 0;
    box-shadow: 4px 4px rgba(44, 47, 47, 0.5);
    padding: 0 2.0833333333vw;
  }
}
.header_logo {
  /*ロゴ*/
  width: min(20vw, 130px);
  margin: min(8vw, 52px) 0 0 min(5.3333333333vw, 34px);
  transition: 0.5s all;
}
@media screen and (min-width: 1024px) {
  .header_logo {
    width: 112px;
    margin: 0;
    transform: scale(1);
  }
  .header_logo:hover {
    transform: scale(1.1);
  }
}
.header_btn-gnavi {
  /*SPハンバーガーメニュー*/
  position: fixed;
  top: min(5.3333333333vw, 34px);
  right: min(5.3333333333vw, 34px);
  z-index: 3;
  cursor: pointer;
  transition: all 400ms;
  -webkit-transition: all 400ms;
  background: #F05681;
  height: min(13.3333333333vw, 86px);
  width: min(13.3333333333vw, 86px);
  border-radius: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 2px 2px rgba(44, 47, 47, 0.5);
}
.header_btn-gnavi span {
  /*3本線*/
  position: absolute;
  width: min(8vw, 52px);
  height: min(1.0666666667vw, 7px);
  background: #fff;
  border-radius: 10px;
  transition: all 400ms;
}
.header_btn-gnavi span:nth-child(1) {
  top: min(3.2vw, 21px);
}
.header_btn-gnavi span:nth-child(2) {
  top: min(5.8666666667vw, 38px);
}
.header_btn-gnavi span:nth-child(3) {
  top: min(8.5333333333vw, 55px);
}
.header_btn-gnavi.hb-open {
  /*hs-openクラスが付与された場合*/
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
}
.header_btn-gnavi.hb-open span {
  background: #fff;
}
.header_btn-gnavi.hb-open span:nth-child(1) {
  width: min(6.4vw, 41px);
  transform: translate(min(1.8666666667vw, 12px), min(4.5333333333vw, 29px)) rotate(45deg);
  -webkit-transform: translate(max(-1.8666666667vw, -12px), min(4.5333333333vw, 29px)) rotate(45deg);
}
.header_btn-gnavi.hb-open span:nth-child(3) {
  width: min(6.4vw, 41px);
  transform: translate(max(-1.8666666667vw, -12px), max(-4.5333333333vw, -29px)) rotate(-45deg);
  -webkit-transform: translate(max(-1.8666666667vw, -12px), max(-4.5333333333vw, -29px)) rotate(-45deg);
}
@media screen and (min-width: 1024px) {
  .header_btn-gnavi {
    display: none;
  }
}
.header_global-navi {
  /*メニュー背景*/
  position: fixed;
  width: min(64vw, 819px);
  top: 0;
  right: max(-80vw, -819px);
  background-color: rgba(33, 33, 33, 0.9);
  height: 100%;
  padding: 90px 20px 20px;
  color: #fff;
  font-family: "futura-pt", sans-serif;
  letter-spacing: 0.14em;
  font-weight: bold;
}
@media screen and (min-width: 1024px) {
  .header_global-navi {
    position: relative;
    background-color: unset;
    height: 60px;
    padding: 0 20px;
    width: 100%;
    right: unset;
    display: flex;
    align-items: center;
    justify-content: right;
  }
}
.header_global-navi-menu {
  margin: 0 0 20px 0;
  /*メニューリスト*/
}
@media screen and (min-width: 1024px) {
  .header_global-navi-menu {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0;
  }
}
.header_global-navi-menu li {
  padding: 10px 0px 10px 40px;
}
@media screen and (min-width: 1024px) {
  .header_global-navi-menu li {
    padding: 0 2.0833333333vw 0 0;
    font-size: min(1.171875vw, 16px);
  }
}
.header_global-navi-menu li p {
  position: relative;
  transition: 0.5s all;
  display: inline-block;
  margin: 0;
}
.header_global-navi-menu li p::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 5px;
  background-color: #F05681;
  left: -29px;
  top: 3px;
}
@media screen and (min-width: 1024px) {
  .header_global-navi-menu li p::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    background-color: #fff;
    transition: 0.3s;
    top: unset;
  }
}
@media screen and (min-width: 1024px) {
  .header_global-navi-menu li:hover {
    transition: 0.5s all;
  }
  .header_global-navi-menu li:hover p::after {
    width: 100%;
  }
}
.header_entry-button {
  /*エントリーボタン*/
  display: flex;
  background-color: #6BBEF6;
  border-radius: 40px;
  width: 150px;
  height: 50px;
  margin: 0 auto;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 1024px) {
  .header_entry-button {
    width: 7.8125vw;
    min-width: 100px;
    margin: 0;
  }
}

/*!
component > animation
------------------------------
*/
/*TEXT流れ*/
.ticker {
  white-space: nowrap;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  overflow: hidden;
  font-size: min(8vw, 45px);
  font-family: "vdl-logojrblack", sans-serif;
  position: relative;
  will-change: transform;
  z-index: -1;
}
@media screen and (min-width: 1024px) {
  .ticker {
    font-size: 4.1666666667vw;
  }
}

/* 共通設定 */
.ticker ul {
  display: flex;
  align-items: center;
}

/* 通常のtickerアニメーション */
.ticker:not(.puttern02) ul {
  animation: ticker 50s linear infinite;
}

/* puttern02だけ逆向きに */
.ticker.puttern02 ul {
  animation: tickerputtern02 50s linear infinite;
}

/*モーダル開いてる時動きを止める*/
.ticker.paused ul {
  animation-play-state: paused !important;
}

/* 通常右→左 */
@keyframes ticker {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
/* 逆方向：左→右 */
@keyframes tickerputtern02 {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
.puttern01 {
  margin-bottom: -1%;
}
@media screen and (min-width: 1024px) {
  .puttern01 {
    margin-bottom: -1.5%;
  }
}

/*----------------------------------------*/
/*マウスポインター*/
.pointer {
  position: relative;
}

.cursor-text {
  pointer-events: none;
  /* 背後のリンクがクリックできるように */
  position: fixed;
  left: 0;
  top: 0;
  width: 4.2708333333vw;
  height: 4.2708333333vw;
  min-width: 60px;
  min-height: 60px;
  border: 5px solid #FF9870;
  background-color: #fff;
  color: #FF9870;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: bold;
  font-family: "vdl-logojrblack", sans-serif;
  text-decoration: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease-out, visibility 0.2s ease-out;
  z-index: 999;
}

/*----------------------------------------*/
/*文字回転*/
.box {
  /*position*/
  position: absolute;
  z-index: 2;
  right: 20px;
  bottom: 20px;
  font-family: "Murecho", sans-serif;
  font-weight: bold;
}
.movie-button {
  /*button*/
  background: #325CE3;
  width: min(18.6666666667vw, 100px);
  height: min(18.6666666667vw, 100px);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 100;
  box-shadow: 2px 2px rgba(44, 47, 47, 0.5);
}
@media screen and (min-width: 1024px) {
  .movie-button {
    width: 100px;
    height: 100px;
  }
}
.movie-button::after {
  /*三角*/
  content: "";
  position: absolute;
  width: min(7.2vw, 34.64px);
  background-color: #fff;
  top: 50%;
  left: 55%;
  transform: translate(-50%, -50%);
  background: #ffffff;
  height: min(7.2vw, 34.64px);
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media screen and (min-width: 1024px) {
  .movie-button::after {
    width: min(9.0666666667vw, 34px);
    height: min(9.0666666667vw, 34px);
  }
}

.block {
  /*枠*/
  width: min(24vw, 115px);
  height: min(24vw, 115px);
  margin: auto;
}
@media screen and (min-width: 1024px) {
  .block {
    width: 115px;
    height: 115px;
  }
}

.circleText {
  overflow: visible;
  animation: rotation 18s linear infinite;
}
.circleText__circle {
  fill: none;
}
.circleText__text {
  /*font*/
  fill: #fff;
  font-size: 15px;
  letter-spacing: 0.05em;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/*----------------------------------------*/
/*ローディング*/
.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgb(255, 255, 255);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.progress-container {
  width: 300px;
  height: 20px;
  background: #f0f0f0;
  border-radius: 10px;
  overflow: hidden;
}

.progress-bar {
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, #FF5B5A, #608CF2);
  transition: width 0.3s ease;
}

.content {
  display: none;
}

.show {
  display: block;
}

/*----------------------------------------*/
.page-top {
  /*TOPへ戻る*/
  color: #fff;
  position: absolute;
  z-index: 2;
  color: #fff;
  position: absolute;
  z-index: 2;
  transform: rotate(-90deg);
  right: -20px;
  bottom: 58%;
  font-size: min(3.7333333333vw, 24px);
  padding-bottom: 5px;
  text-indent: 8px;
}
@media screen and (min-width: 1024px) {
  .page-top {
    right: 0;
    font-size: 0.9375vw;
  }
}
.page-top::after {
  content: "";
  display: block;
  width: min(29.3333333333vw, 200px);
  border-bottom: 2px solid;
}
@media screen and (min-width: 1024px) {
  .page-top::after {
    width: 7.1875vw;
  }
}
.page-top::before {
  content: "";
  display: block;
  width: min(5.3333333333vw, 40px);
  border-bottom: 2px solid;
  position: absolute;
  right: 0px;
  transform: rotate(30deg);
  bottom: 32%;
}
@media screen and (min-width: 1024px) {
  .page-top::before {
    width: 1.3020833333vw;
  }
}

/*----------------------------------------*/
/*modal*/
.modal-video-close-btn {
  background-color: #fff !important;
  border-radius: 50px;
}
.modal-video-close-btn::after {
  background: #FF733C !important;
  height: 8px !important;
  top: 55% !important;
  width: 70% !important;
  left: 5px !important;
  border-radius: unset !important;
}
.modal-video-close-btn::before {
  background: #FF733C !important;
  height: 8px !important;
  top: 55% !important;
  width: 70% !important;
  left: 5px !important;
  border-radius: unset !important;
}

/*----------------------------------------*/
/*ボタンのホバーアクション*/
.button {
  border-radius: 40px;
  color: #fff;
  /* background-color: #FF5B5A; */
  overflow: hidden;
  position: relative;
  transition-duration: 0.4s;
  z-index: 2;
  display: flex;
  justify-content: center;
  /* 横方向の中央寄せ */
  align-items: center;
  /* 縦方向の中央寄せ */
  text-align: center;
}
.button::after {
  background: #325CE3;
  border-radius: 50%;
  content: "";
  display: block;
  margin: auto;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  width: 100%;
  padding-top: 100%;
  height: 0;
  z-index: -1;
  transform: translateY(-50%) scale(0.1);
  opacity: 0;
  transition: opacity 0.5s, transform 0.6s ease-in-out;
  transition-delay: 0.2s, 0s;
}
.button.sns::after {
  border-radius: 1.0416666667vw;
}

.button:hover {
  color: #fff;
}
.button:hover::after {
  opacity: 1;
  transform: translateY(-50%) scale(1.1);
  transition: opacity 0.8s, transform 0.6s ease-in-out;
  transition-delay: 0s;
}

/*----------------------------------------*/
/*slider*/
.slick-track {
  height: 360px;
}
@media screen and (min-width: 1024px) {
  .slick-track {
    height: 40.7291666667vw;
  }
}

.slider_area {
  display: flex;
  justify-content: space-between;
  margin: 40px 0 25px;
  /*slider中央*/
}
@media screen and (min-width: 1024px) {
  .slider_area {
    margin: 70px 0;
  }
}
.slider_area .slider_bg {
  position: relative;
  display: block;
  /*スライダーの高さ揃え*/
  transform-origin: bottom center;
  transition: 0.5s all;
  transform: scale(0.7);
  /*slidertext*/
}
.slider_area .slider_bg_img {
  width: 170px;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .slider_area .slider_bg_img {
    width: unset;
  }
}
.slider_area .slider_bg_img_job {
  /*仕事のイラスト*/
  position: absolute;
  top: 0;
  left: 0;
  width: 233px;
  height: 100%;
  overflow: hidden;
  left: 50%;
  transform: translateX(-50%);
  transition: 0.5s all;
}
@media screen and (min-width: 1024px) {
  .slider_area .slider_bg_img_job {
    width: 31.25vw;
  }
}
.slider_area .slider_bg_img_job img {
  position: absolute;
  z-index: 2;
  bottom: -130px;
  transition: 0.5s all;
}
@media screen and (min-width: 1024px) {
  .slider_area .slider_bg_img_job img {
    bottom: -19.7916666667vw;
    width: 19.7916666667vw;
  }
}
.slider_area .slider_bg_img_icon01, .slider_area .slider_bg_img_icon02 {
  /*icon*/
  display: none;
}
.slider_area .slider_bg_img img {
  width: 100%;
  height: auto;
  /* transition: 0.5s all; */
  /* transform-origin: bottom center; */
  margin: 0 0px;
  /* transform: scale(.7); */
}
@media screen and (min-width: 1024px) {
  .slider_area .slider_bg_img img {
    /* transform: scale(.7); */
  }
}
.slider_area .slider_bg .slider_text {
  color: #fff;
  font-family: "vdl-logojrblack", sans-serif;
  transform: rotate(-15deg);
  -moz-transform: rotate(-15deg);
  -webkit-transform: rotate(-15deg);
  text-shadow: 2px 2px rgba(44, 47, 47, 0.5);
  text-align: center;
  font-size: 18px;
  position: absolute;
  left: -2.5%;
  right: 0;
  margin: 0 auto;
  top: 13%;
  line-height: 1.25;
  width: 171px;
  transition: 0.5s all;
}
@media screen and (min-width: 1024px) {
  .slider_area .slider_bg .slider_text {
    font-size: 2.0833333333vw;
    top: 15%;
    left: 0;
    width: 18.2291666667vw;
    min-width: 188px;
  }
}
.slider_area .slider_bg .slider_text.a_indent {
  top: 21%;
}
@media screen and (min-width: 1024px) {
  .slider_area .slider_bg .slider_text.a_indent {
    top: 22%;
  }
}
.slider_area .slider_bg .slider_text.b_indent {
  top: 20%;
}
@media screen and (min-width: 1024px) {
  .slider_area .slider_bg .slider_text.b_indent {
    top: 17%;
  }
}
@media screen and (min-width: 1024px) {
  .slider_area .slider_bg .slider_text.c_indent {
    top: 13%;
    left: -6%;
  }
}
.slider_area .slick-center .slider_bg {
  transform: scale(0.9);
}
.slider_area .slick-center .slider_bg img {
  transition: 0.5s all;
}
@media screen and (min-width: 1024px) {
  .slider_area .slick-center .slider_bg img {
    /*  transform: scale(1); */
  }
}
.slider_area .slick-center .slider_bg_img_job {
  /*仕事のイラスト*/
  top: 99px;
  overflow: unset;
  transition: 0.5s all;
  animation: spinY 0.8s ease forwards;
}
@media screen and (min-width: 1024px) {
  .slider_area .slick-center .slider_bg_img_job {
    top: 0;
  }
}
.slider_area .slick-center .slider_bg_img_job img {
  bottom: unset;
  width: 205px;
  left: 50%;
  transform: translateX(-50%);
  transition: 0.5s all;
}
@media screen and (min-width: 1024px) {
  .slider_area .slick-center .slider_bg_img_job img {
    bottom: -7.5520833333vw;
    width: 23.75vw;
  }
}
@keyframes spinY {
  0% {
    transform: translateX(-50%) rotateY(150deg);
  }
  100% {
    transform: translateX(-50%) rotateY(360deg);
  }
}
.slider_area .slick-center .slider_bg_img_icon01 {
  /*icon*/
  display: block;
  transition: 0.5s all;
  position: absolute;
  top: 178px;
  right: 0;
  width: 30%;
  animation: shake-down 3s infinite ease-in-out;
}
.slider_area .slick-center .slider_bg_img_icon01 img {
  transform: rotate(22deg);
}
.slider_area .slick-center .slider_bg_img_icon02 {
  /*icon*/
  display: block;
  transition: 0.5s all;
  position: absolute;
  bottom: 18px;
  left: 0;
  width: 30%;
  animation: shake-up 3s infinite ease-in-out;
}
.slider_area .slick-center .slider_bg_img_icon02 img {
  transform: rotate(-33deg);
}
.slider_area .slick-center .slider_bg .slider_text {
  font-size: 24px;
  width: 210px;
  transition: 0.5s all;
  line-height: 1.3;
}
@media screen and (min-width: 1024px) {
  .slider_area .slick-center .slider_bg .slider_text {
    font-size: 2.34375vw;
    left: 0;
    width: 22.3958333333vw;
  }
}
.slider_area .slick-center .slider_bg .slider_text.a_indent {
  top: 16%;
  left: -15%;
  font-size: 32px;
}
@media screen and (min-width: 1024px) {
  .slider_area .slick-center .slider_bg .slider_text.a_indent {
    top: 4.1558441558vw;
    left: -9%;
    font-size: 3.3854166667vw;
  }
}
.slider_area .slick-center .slider_bg .slider_text.b_indent {
  top: 35px;
  left: -14%;
}
@media screen and (min-width: 1024px) {
  .slider_area .slick-center .slider_bg .slider_text.b_indent {
    top: 3.6458333333vw;
    left: -9%;
  }
}
.slider_area .slick-center .slider_bg .slider_text.c_indent {
  top: 16px;
  left: -15.5%;
}
@media screen and (min-width: 1024px) {
  .slider_area .slick-center .slider_bg .slider_text.c_indent {
    top: 0.8333333333vw;
    left: -9%;
  }
}

/*slider button*/
.slick-prev,
.slick-next {
  /*スライダーボタン設定*/
  width: min(10.6666666667vw, 40px) !important;
  height: min(10.6666666667vw, 40px) !important;
  background-color: #325CE3 !important;
  z-index: 1;
  border: 0.2604166667vw solid #fff !important;
  border-radius: 50px;
  top: 60% !important;
}
@media screen and (min-width: 1024px) {
  .slick-prev,
  .slick-next {
    width: min(3.90625vw, 82px) !important;
    height: min(3.90625vw, 82px) !important;
    transition: 0.5s all;
  }
  .slick-prev:hover,
  .slick-next:hover {
    background-color: #FF733C !important;
  }
}
.slick-prev::before,
.slick-next::before {
  opacity: unset !important;
}

.slick-next {
  /*スライダー進むボタン*/
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .slick-next {
    right: clamp(107.52px, 107.52px + (100vw - 768px) * 0.5003, 235.29px) !important;
  }
}
@media screen and (min-width: 1024px) {
  .slick-next {
    right: 18% !important;
  }
}
.slick-next::before, .slick-next::after {
  content: "" !important;
  color: #325CE3 !important;
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  left: 0;
  margin: 0 auto;
  width: min(1.07421875vw, 15px);
  height: min(0.390625vw, 5px);
  border-radius: 9999px;
  background-color: #fff;
  transform-origin: calc(100% - 2px) 50%;
}
.slick-next::before {
  transform: rotate(-45deg);
}
.slick-next::after {
  transform: rotate(45deg);
}

.slick-prev {
  /*スライダー戻るボタン*/
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .slick-prev {
    left: clamp(107.52px, 107.52px + (100vw - 768px) * 0.5003, 235.29px) !important;
  }
}
@media screen and (min-width: 1024px) {
  .slick-prev {
    left: 18% !important;
  }
}
.slick-prev::before, .slick-prev::after {
  content: "" !important;
  color: #325CE3 !important;
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  left: 0;
  margin: 0 auto;
  width: min(1.07421875vw, 15px);
  height: min(0.390625vw, 5px);
  border-radius: 9999px;
  background-color: #fff;
  transform-origin: 2px 50%;
}
.slick-prev::before {
  transform: rotate(-45deg);
}
.slick-prev::after {
  transform: rotate(45deg);
}

/**************************************************************/
/*modalスライダー*/
/* スクロールロックする時 */
body.fixed {
  position: fixed;
}

/*----------------------------------------------------------*/
/* モーダルウインドウ Slide In */
/*----------------------------------------------------------*/
.modal {
  display: none;
  position: relative;
  z-index: 999;
}

/* モーダルウインドウ／背景 */
.modal-bg {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  transition: 0.3s;
}

/* モーダルウインドウ／コンテンツ */
.modal-main-container {
  color: black;
  z-index: 11;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 1032px;
  width: 90%;
  height: 60%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  transition: 0.3s;
}

.modal-main-container.slide {
  top: 45%;
  transition: 0.3s;
}

.modal-main-contents {
  max-width: 1032px;
  border-radius: 12px;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-shadow: rgba(0, 0, 0, 0.28) 0px 8px 28px;
  transition: 0.3s;
}

/* モーダルウインドウ／閉じるボタンのwrapper */
.modal-close-btn__wrapper {
  height: min(13.3333333333vw, 60px);
  width: min(13.3333333333vw, 60px);
  border-radius: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  position: absolute;
  right: -17px;
  top: -26px;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  .modal-close-btn__wrapper {
    height: min(4.8828125vw, 100px);
    width: min(4.8828125vw, 100px);
    right: -2.34375vw;
    top: -2.3958333333vw;
  }
}

/* モーダルウインドウ／閉じるボタン */
.modal-close-btn {
  cursor: pointer;
  font-size: min(10.6666666667vw, 50px);
  font-family: "vdl-logojrblack", sans-serif;
  color: #FF733C;
}
@media screen and (min-width: 1024px) {
  .modal-close-btn {
    font-size: min(3.90625vw, 80px);
  }
}

/* スクロール用タグ */
/* Firefox用 */
@-moz-document url-prefix() {
  .modal-scroll__container {
    scrollbar-width: thin;
    scrollbar-color: #FCE7A0 transparent;
  }
}
/* Webkit系（Chrome, Safari） */
.modal-scroll__container {
  overflow-y: scroll;
}

.modal-scroll__container::-webkit-scrollbar {
  width: 12px;
}

.modal-scroll__container::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 8px;
}

.modal-scroll__container::-webkit-scrollbar-thumb {
  background-color: #FCE7A0;
  border-radius: 8px;
  border: 2px solid transparent;
  background-clip: padding-box;
}

/* コンテンツ全体を囲うタグ */
.currency-wrapper {
  margin: 20px 10px 0;
}
@media screen and (min-width: 1024px) {
  .currency-wrapper {
    margin: 20px 20px 0;
  }
}

/* コンテンツのタイトル */
.currency__h3 {
  margin-bottom: 30px;
  font-family: "vdl-logojrblack", sans-serif;
  font-size: min(7.4666666667vw, 64px);
  color: #fff;
  text-shadow: 4px 4px rgba(44, 47, 47, 0.5);
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .currency__h3 {
    font-size: 64px;
    text-align: left;
    margin-bottom: 40px;
  }
}

.currency-flex {
  display: flex;
  flex-wrap: wrap-reverse;
  justify-content: center;
}
@media screen and (min-width: 1024px) {
  .currency-flex {
    flex-wrap: unset;
    justify-content: space-between;
  }
}

.currency__textarea {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .currency__textarea {
    width: 65%;
  }
}

.currency__img {
  top: 20px;
  width: 50%;
}
@media screen and (min-width: 1024px) {
  .currency__img {
    width: unset;
    position: sticky;
    max-width: 310px;
    max-height: 410px;
  }
}

.currency__dl {
  margin-bottom: 30px;
}

.currency__dt {
  margin-bottom: 15px;
  font-family: "Murecho", sans-serif;
  font-size: min(5.3333333333vw, 32px);
  color: #fff;
  text-shadow: 2px 2px rgba(44, 47, 47, 0.5);
  line-height: 1.5;
}
@media screen and (min-width: 1024px) {
  .currency__dt {
    font-size: 32px;
  }
}

.currency__dd {
  font-weight: 500;
}

/* ulのスタイル */
.currency-item__wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

/* liのスタイル */
.currency__item {
  max-width: 200px;
  width: 100%;
  margin: 8px;
  padding: 8px;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.3em;
  font-weight: 200;
  border: 1px solid black;
  cursor: pointer;
}

/* liのhover設定 */
@media (hover: hover) {
  .currency__item:hover {
    background-color: rgb(238, 238, 238);
  }
}
/*fadeup*/
.fade-in {
  opacity: 0;
  transition-duration: 500ms;
  transition-property: opacity, transform;
}

.fade-in-up {
  transform: translate(0, 50px);
}

.scroll-in {
  opacity: 1;
  transform: translate(0, 0);
}

/**/
.swiper-slide {
  transform: scale(0.8); /* 左右のスライドを小さくする */
  transition: 0.7s; /* ゆっくり小さくさせる */
}

.swiper-slide img {
  height: auto;
  width: 100%;
}

.swiper-slide-active {
  transform: scale(1); /* 中央のスライドは小さくしない */
  z-index: 1; /* 中央のスライドを一番上にする */
}

/*!
layout > container
------------------------------
*/
.container {
  padding: 0 20px;
}
@media screen and (min-width: 1024px) {
  .container {
    max-width: 1200px;
    padding: 0 20px;
  }
}

@media screen and (min-width: 768px) {
  .container {
    box-sizing: content-box;
    margin: 0 auto;
    width: auto;
  }
  .container {
    max-width: 1200px;
    padding: 0 20px;
    margin: 0 auto;
    position: relative;
  }
}