@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;700&display=swap");
html, body, div, span, main, header, footer, section, ::before, ::after,
h1, h2, h3, h4, h5, h6, p, a, img,
dl, dt, dd, ol, ul, li,
table, caption, tr, th, td,
input, button, textarea, select, option {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ol, ul {
  list-style: none;
}

img {
  vertical-align: bottom;
  -webkit-box-shadow: #000 0 0 0;
          box-shadow: #000 0 0 0;
  -webkit-backface-visibility: hidden;
  width: 100%;
  height: auto;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  color: inherit;
  text-decoration: none;
  outline: none;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

select,
textarea,
input[type=text],
input[type=email],
input[type=tel],
input[type=submit],
input[type=radio],
button {
  -webkit-appearance: none;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  border-radius: 0;
}

textarea:focus,
input:focus {
  outline: none;
}

.wrap_1200, .bnr_mvv, .magazine, .page_title .box_text, .cmn_contact_item, .cmn_contact_inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 800px) {
  .wrap_1200, .bnr_mvv, .magazine, .page_title .box_text, .cmn_contact_item, .cmn_contact_inner {
    width: 89.333%;
  }
  .wrap_sp {
    width: calc(89.333% - 5.3335vw);
    margin-left: 5.3335vw;
  }
}
/* ========================================

font

======================================== */
.en_t {
  font-family: "Poppins", sans-serif;
  font-weight: 100;
}

.en_l {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
}

.en_r {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
}

.en_sb, .magazine .c_title .en, .sec_title .en, .page_title .box_text .en, .cmn_contact_title .en {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
}

.num_r, .cmn_contact_item .tel .num {
  font-family: "Oswald", sans-serif;
  font-weight: 400;
}

.num_b {
  font-family: "Oswald", sans-serif;
  font-weight: 700;
}

.serif_l {
  font-family: "Source Serif Pro", serif;
  font-weight: 300;
}

.serif_r {
  font-family: "Source Serif Pro", serif;
  font-weight: 400;
}

.serif_sb, .magazine_list_item .box_img .info {
  font-family: "Source Serif Pro", serif;
  font-weight: 600;
}

.wrap_1200, .bnr_mvv, .magazine, .page_title .box_text, .cmn_contact_item, .cmn_contact_inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 800px) {
  .wrap_1200, .bnr_mvv, .magazine, .page_title .box_text, .cmn_contact_item, .cmn_contact_inner {
    width: 89.333%;
  }
  .wrap_sp {
    width: calc(89.333% - 5.3335vw);
    margin-left: 5.3335vw;
  }
}
/* ========================================

font

======================================== */
.en_t {
  font-family: "Poppins", sans-serif;
  font-weight: 100;
}

.en_l {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
}

.en_r {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
}

.en_sb, .magazine .c_title .en, .sec_title .en, .page_title .box_text .en, .cmn_contact_title .en {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
}

.num_r, .cmn_contact_item .tel .num {
  font-family: "Oswald", sans-serif;
  font-weight: 400;
}

.num_b {
  font-family: "Oswald", sans-serif;
  font-weight: 700;
}

.serif_l {
  font-family: "Source Serif Pro", serif;
  font-weight: 300;
}

.serif_r {
  font-family: "Source Serif Pro", serif;
  font-weight: 400;
}

.serif_sb, .magazine_list_item .box_img .info {
  font-family: "Source Serif Pro", serif;
  font-weight: 600;
}

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

inview

======================================== */
.is-fade > *:not(.is-not, .bv-video-wrap) {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
}
.is-fade > .is-not {
  opacity: 0;
  -webkit-transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
}
.is-fade.fadeIn > * {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.is-fade > *:nth-child(0) {
  -webkit-transition-delay: 100ms;
          transition-delay: 100ms;
}

.is-fade > *:nth-child(1) {
  -webkit-transition-delay: 220ms;
          transition-delay: 220ms;
}

.is-fade > *:nth-child(2) {
  -webkit-transition-delay: 340ms;
          transition-delay: 340ms;
}

.is-fade > *:nth-child(3) {
  -webkit-transition-delay: 460ms;
          transition-delay: 460ms;
}

.is-fade > *:nth-child(4) {
  -webkit-transition-delay: 580ms;
          transition-delay: 580ms;
}

.is-fade > *:nth-child(5) {
  -webkit-transition-delay: 700ms;
          transition-delay: 700ms;
}

.is-fade > *:nth-child(6) {
  -webkit-transition-delay: 820ms;
          transition-delay: 820ms;
}

.is-fade > *:nth-child(7) {
  -webkit-transition-delay: 940ms;
          transition-delay: 940ms;
}

.is-fade > *:nth-child(8) {
  -webkit-transition-delay: 1060ms;
          transition-delay: 1060ms;
}

.is-fade > *:nth-child(9) {
  -webkit-transition-delay: 1180ms;
          transition-delay: 1180ms;
}

.is-fade > *:nth-child(10) {
  -webkit-transition-delay: 1300ms;
          transition-delay: 1300ms;
}

.is-fade > *:nth-child(11) {
  -webkit-transition-delay: 1420ms;
          transition-delay: 1420ms;
}

.is-fade > *:nth-child(12) {
  -webkit-transition-delay: 1540ms;
          transition-delay: 1540ms;
}

.is-fade > *:nth-child(13) {
  -webkit-transition-delay: 1660ms;
          transition-delay: 1660ms;
}

.is-fade > *:nth-child(14) {
  -webkit-transition-delay: 1780ms;
          transition-delay: 1780ms;
}

.is-fade > *:nth-child(15) {
  -webkit-transition-delay: 1900ms;
          transition-delay: 1900ms;
}

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

common

======================================== */
.replace_img {
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 50% 50%;
}

.l_tel {
  pointer-events: none;
}

.p_hover a:hover {
  opacity: 0.7;
}

.svg.c_white svg {
  fill: #fff;
}
.svg.c_black svg {
  fill: #000;
}

.ico_arrow svg {
  width: 13px;
  height: 9px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.ico_arrow.c_white svg {
  fill: #fff;
}
.ico_arrow.c_black svg {
  fill: #000;
}

.ico_logo svg {
  width: 100%;
  height: auto;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.ico_logo.c_white svg {
  fill: #fff;
}
.ico_logo.c_black svg {
  fill: #000;
}

.img-fit {
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.img-fit::before {
  width: 100%;
  height: 0;
  content: "";
  display: block;
  padding-top: 60%;
  position: relative;
}
.img-fit img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-position: 50% 50%;
  background-size: cover;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
  -webkit-transition: all 0.5s cubic-bezier(0.33, 1, 0.68, 1);
  transition: all 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}

.btn_white {
  color: #000;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.05em;
  width: 400px;
  height: 50px;
}
.btn_white a, .btn_white span {
  width: 100%;
  height: 100%;
  position: relative;
  padding-bottom: 2px;
  background-color: #fff;
  border-radius: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.btn_white a:hover, .btn_white span:hover {
  opacity: 0.7;
}
.btn_white span {
  cursor: pointer;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

@media screen and (max-width: 800px) {
  .l_tel {
    pointer-events: auto;
  }
}
/* ========================================

modaal

======================================== */
.modaal-video .modaal-inner-wrapper {
  padding: 0;
}

.modaal-overlay {
  z-index: 9998;
  background-color: rgba(0, 0, 0, 0.7);
}

.modaal-container {
  background-color: transparent;
}

.modaal-close {
  width: 60px;
  height: 60px;
  top: 10px;
  right: 10px;
  border-radius: 0;
}

.modaal-close:after,
.modaal-close:before {
  width: 2px;
  height: 30px;
  top: 15px;
  left: 29px;
  background: #fff;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.modaal-gallery-control:after,
.modaal-gallery-control:before {
  top: 16px;
  left: 25px;
  width: 2px;
  height: 20px;
  border-radius: 0;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.modaal-gallery-next:before,
.modaal-gallery-prev:after {
  margin-top: -7px;
}

.modaal-gallery-next:after,
.modaal-gallery-prev:before {
  margin-top: 7px;
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before,
.modaal-gallery-control:focus:after,
.modaal-gallery-control:focus:before,
.modaal-gallery-control:hover:after,
.modaal-gallery-control:hover:before {
  background-color: #fff;
  opacity: 0.6;
}

.modaal-close:focus,
.modaal-close:hover,
.modaal-gallery-control:focus,
.modaal-gallery-control:hover {
  background-color: transparent;
}

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

cmn_contact

======================================== */
.cmn_contact {
  background-color: #24211e;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.cmn_contact .img {
  width: 95%;
  max-height: 700px;
  display: none;
}
.cmn_contact .img::before {
  padding-top: 37.037%;
}
.cmn_contact_inner {
  padding: 88px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cmn_contact_title {
  width: 180px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.cmn_contact_title .en {
  font-size: 28px;
  letter-spacing: 0.05em;
  margin-bottom: 20px;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
.cmn_contact_title .jp {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.cmn_contact_item {
  width: calc(100% - 180px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cmn_contact_item .tel .num {
  font-size: 32px;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cmn_contact_item .tel .num::before {
  width: 21px;
  height: 21px;
  content: "";
  display: block;
  margin-top: 2px;
  margin-right: 12px;
  background-image: url(../img/common/cmn_contact_ico_tel.png);
  background-size: 100% auto;
}
.cmn_contact_item .tel .txt {
  font-size: 12px;
  font-weight: 300;
  padding-left: 8px;
  opacity: 0.7;
}
.cmn_contact_item .mail {
  width: 48%;
  max-width: 400px;
  margin-left: 62px;
  margin-left: 6.078%;
}
.cmn_contact_item .mail .btn_white {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cmn_contact_item .mail .btn_white a::before {
  width: 21px;
  height: 17px;
  content: "";
  display: block;
  margin-top: 2px;
  margin-right: 10px;
  background-image: url(../img/common/cmn_contact_ico_mail.png);
  background-size: 100% auto;
}

@media screen and (max-width: 800px) {
  .cmn_contact {
    border-top: none;
  }
  .cmn_contact .img {
    width: 100%;
  }
  .cmn_contact .img::before {
    padding-top: 64%;
  }
  .cmn_contact_inner {
    width: 89.333%;
    padding: 48px 0 70px;
    display: block;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
  }
  .cmn_contact_title {
    width: 100%;
    margin-bottom: 38px;
  }
  .cmn_contact_title .en {
    font-size: 24px;
    margin-bottom: 16px;
  }
  .cmn_contact_item {
    width: 100%;
    display: block;
  }
  .cmn_contact_item .tel {
    width: 100%;
    margin-bottom: 24px;
  }
  .cmn_contact_item .tel .num {
    font-size: 32px;
    letter-spacing: 0.05em;
    margin-bottom: 9px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .cmn_contact_item .tel .txt {
    padding-left: 0;
  }
  .cmn_contact_item .mail {
    width: 100%;
    max-width: none;
    margin-left: 0;
  }
}
/* ========================================

page_title

======================================== */
.page_title {
  position: relative;
  z-index: 1;
}
.page_title .box_text {
  position: relative;
  z-index: 11;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.page_title .box_text .en {
  text-transform: uppercase;
  letter-spacing: 0.05em;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
.page_title .box_text .jp {
  letter-spacing: 0.05em;
  opacity: 0.6;
}
.page_title:not(.cmn_page_title) .box_text {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.page_title:not(.cmn_page_title) .box_text .en {
  font-size: 60px;
  margin-bottom: 20px;
}
.page_title:not(.cmn_page_title) .box_text .jp {
  font-size: 16px;
}
.page_title.cmn_page_title .box_text {
  padding-top: 140px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.page_title.cmn_page_title .box_text .en {
  font-size: 40px;
  margin-right: 14px;
}
.page_title.cmn_page_title .box_text .jp {
  font-size: 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.page_title.cmn_page_title .box_text .jp::before {
  width: 20px;
  height: 1px;
  content: "";
  display: block;
  margin-right: 14px;
  margin-bottom: 2px;
  background-color: rgba(255, 255, 255, 0.2);
}

@media screen and (max-width: 800px) {
  .page_title .box_text {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .page_title .box_text .en {
    font-size: 24px;
  }
  .page_title .box_text .jp {
    font-size: 12px;
    margin-bottom: 0;
  }
  .page_title:not(.cmn_page_title) .box_text .en {
    font-size: 40px;
  }
  .page_title:not(.cmn_page_title) .box_text .jp {
    font-size: 14px;
  }
  .page_title.cmn_page_title .box_text {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .page_title.cmn_page_title .box_text .en {
    margin-right: 0;
    margin-bottom: 8px;
  }
  .page_title.cmn_page_title .box_text .jp::before {
    display: none;
  }
}
/* ========================================

sec_title

======================================== */
.sec_title {
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.sec_title .en {
  font-size: 24px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.sec_title .en::after {
  width: 20px;
  height: 1px;
  content: "";
  display: block;
  margin: 0 14px 1px;
  background-color: rgba(255, 255, 255, 0.2);
}
.sec_title .jp {
  font-size: 14px;
  letter-spacing: 0.05em;
  margin-bottom: 3px;
  opacity: 0.6;
}

@media screen and (max-width: 800px) {
  .sec_title {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .sec_title .en {
    font-size: 20px;
    letter-spacing: 0;
    display: block;
    margin-bottom: 13px;
  }
  .sec_title .en::after {
    display: none;
  }
  .sec_title .jp {
    font-size: 13px;
    margin-bottom: 0;
  }
}
/* ========================================

magazine

======================================== */
.magazine {
  margin-bottom: 240px;
}
.magazine .c_title {
  margin-bottom: 60px;
  padding-top: 64px;
  border-top: 2px solid #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.magazine .c_title .jp {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.magazine .c_title .en {
  font-size: 28px;
  letter-spacing: 0.05em;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
.magazine .c_title .en a, .magazine .c_title .en span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.magazine .c_title .en a::after, .magazine .c_title .en span::after {
  width: 16px;
  height: 11px;
  content: "";
  display: block;
  vertical-align: middle;
  margin-left: 22px;
  background-image: url(../img/common/ico_arrow_white.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 100%;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.magazine .c_title .en a:hover {
  opacity: 0.7;
}
.magazine .c_title .en a:hover::after {
  -webkit-transform: translate(3px, 0);
          transform: translate(3px, 0);
}
.magazine .c_title .desc {
  font-size: 13px;
  text-align: justify;
  line-height: 1.923;
  letter-spacing: 0.05em;
  width: 100%;
  margin-top: 22px;
  opacity: 0.6;
}
.magazine_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.magazine_list_item a {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.magazine_list_item a:hover {
  opacity: 0.7;
}
.magazine_list_item .box_img {
  position: relative;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
.magazine_list_item .box_img .img {
  height: 100%;
}
.magazine_list_item .box_img .info {
  font-size: 12px;
  letter-spacing: 0.05em;
  position: absolute;
  left: 0;
  bottom: -1px;
  padding: 6px 12px 0 0;
  background-color: #24211e;
  z-index: 2;
}
.magazine_list_item .box_img .info .date::after {
  width: 1px;
  height: 10px;
  content: "";
  display: inline-block;
  margin: 2px 2px 0 6px;
  background-color: #fff;
}
.magazine_list_item .box_text {
  font-weight: 500;
  letter-spacing: 0.05em;
}
.magazine_list_item .box_text h3 {
  line-height: 1.666;
}
.magazine_list_item .box_text .prof {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.magazine_list_item .box_text .prof .com {
  width: 100%;
  font-weight: 400;
  line-height: 1.4;
}
.magazine_list_item .box_text .prof .pos {
  font-weight: 300;
  opacity: 0.7;
  margin-top: 3px;
}
.magazine_list_item.pick {
  width: 45.833%;
}
.magazine_list_item.pick .box_img {
  width: 100%;
  margin-bottom: 24px;
}
.magazine_list_item.pick .box_img .img::before {
  padding-top: 100%;
}
.magazine_list_item.pick .box_text {
  width: 100%;
}
.magazine_list_item.pick .box_text h3 {
  font-size: 30px;
  margin-bottom: 25px;
}
.magazine_list_item.pick .box_text .prof .com {
  font-size: 14px;
  margin-bottom: 11px;
}
.magazine_list_item.pick .box_text .prof .name {
  font-size: 20px;
  margin-right: 20px;
}
.magazine_list_item.pick .box_text .prof .pos {
  font-size: 12px;
}
.magazine_list_item.new .box_img::before {
  width: 100px;
  height: 100px;
  width: 20%;
  height: 20%;
  max-width: 100px;
  max-height: 100px;
  content: "";
  display: block;
  position: absolute;
  top: -10px;
  left: -10px;
  background-image: url(../img/common/magazine_ico_new.png);
  background-repeat: repeat-x;
  background-size: cover;
  background-position: 0 0;
  z-index: 3;
}
.magazine_list_inner {
  width: 50%;
}
.magazine_list_inner a {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.magazine_list_inner .box_img {
  width: 40%;
  min-height: 120px;
}
.magazine_list_inner .box_img .img::before {
  padding-top: 75%;
}
.magazine_list_inner .box_text {
  width: 51.666%;
  padding: 4px 0 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: justify;
      align-content: space-between;
}
.magazine_list_inner .box_text h3 {
  font-size: 18px;
  margin-bottom: 14px;
}
.magazine_list_inner .box_text .prof .com {
  font-size: 13px;
  margin-bottom: 12px;
}
.magazine_list_inner .box_text .prof .name {
  font-size: 18px;
  margin-right: 18px;
  margin-bottom: 4px;
}
.magazine_list_inner .box_text .prof .pos {
  font-size: 11px;
  margin-bottom: 4px;
}
.magazine_list_inner .magazine_list_item {
  width: 100%;
}
.magazine_list_inner .magazine_list_item:nth-child(1)::after, .magazine_list_inner .magazine_list_item:nth-child(2)::after {
  width: 100%;
  height: 5px;
  content: "";
  display: block;
  margin: 37px 0;
  background: linear-gradient(to right, #fff, #fff 2px, transparent 2px, transparent 4px);
  background-repeat: repeat-x;
  background-size: 4px 1px;
  background-position: 50% 50%;
  border-right: 1px solid #fff;
  border-left: 1px solid #fff;
  opacity: 0.2;
}
.magazine_list_inner .magazine_list_item.new .box_img::before {
  width: 25%;
  height: 30%;
  top: -5px;
  left: -5px;
}

@media screen and (max-width: 800px) {
  .magazine {
    margin-bottom: 66px;
  }
  .magazine .c_title {
    margin-bottom: 40px;
    padding-top: 48px;
  }
  .magazine .c_title .jp {
    font-size: 14px;
    width: 100%;
  }
  .magazine .c_title .en {
    font-size: 24px;
    width: 100%;
    margin-bottom: 10px;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
  .magazine .c_title .en a {
    width: 100%;
    position: relative;
    margin-left: 0;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .magazine .c_title .desc {
    line-height: 1.538;
    margin-top: 22px;
    opacity: 0.6;
  }
  .magazine_list_item .box_text .prof {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .magazine_list_item .box_text .prof .com {
    width: 100%;
    font-weight: 400;
    line-height: 1.4;
  }
  .magazine_list_item .box_text .prof .name {
    width: 100%;
  }
  .magazine_list_item .box_text .prof .pos {
    font-weight: 300;
    line-height: 1.45;
    width: 100%;
    margin-top: 0;
  }
  .magazine_list_item.pick {
    width: 100%;
  }
  .magazine_list_item.pick::after {
    width: 100%;
    height: 5px;
    content: "";
    display: block;
    margin: 40px 0 38px;
    background: linear-gradient(to right, #fff, #fff 2px, transparent 2px, transparent 4px);
    background-repeat: repeat-x;
    background-size: 4px 1px;
    background-position: 50% 50%;
    border-right: 1px solid #fff;
    border-left: 1px solid #fff;
    opacity: 0.2;
  }
  .magazine_list_item.pick .box_img {
    margin-bottom: 24px;
  }
  .magazine_list_item.pick .box_img .img::before {
    padding-top: 100%;
  }
  .magazine_list_item.pick .box_img .info {
    bottom: -5px;
  }
  .magazine_list_item.pick .box_text h3 {
    font-size: 20px;
    margin-bottom: 16px;
  }
  .magazine_list_item.pick .box_text .prof .com {
    font-size: 12px;
    margin-bottom: 7px;
  }
  .magazine_list_item.pick .box_text .prof .name {
    font-size: 20px;
    margin-right: 20px;
    margin-bottom: 5px;
  }
  .magazine_list_item.new .box_img::before {
    width: 100px;
    height: 100px;
  }
  .magazine_list_inner {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .magazine_list_inner .box_img {
    width: 100%;
    margin-bottom: 14px;
  }
  .magazine_list_inner .box_img .img::before {
    padding-top: 87.5%;
  }
  .magazine_list_inner .box_img .info {
    bottom: -1px;
    padding-top: 6px;
  }
  .magazine_list_inner .box_text {
    width: 100%;
    padding: 4px 0 8px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-line-pack: justify;
        align-content: space-between;
  }
  .magazine_list_inner .box_text h3 {
    font-size: 15px;
    margin-bottom: 21px;
  }
  .magazine_list_inner .box_text .prof .com {
    font-size: 12px;
    margin-bottom: 5px;
  }
  .magazine_list_inner .box_text .prof .name {
    margin-right: 0;
    margin-bottom: 10px;
  }
  .magazine_list_inner .box_text .prof .pos {
    margin-bottom: 0;
  }
  .magazine_list_inner .magazine_list_item {
    width: 47.761%;
  }
  .magazine_list_inner .magazine_list_item:nth-child(1)::after, .magazine_list_inner .magazine_list_item:nth-child(2)::after {
    display: none;
  }
  .magazine_list_inner .magazine_list_item:nth-child(3) {
    display: none;
  }
  .magazine_list_inner .magazine_list_item.new .box_img::before {
    width: 25%;
    height: 30%;
    top: -5px;
    left: -5px;
  }
  .magazine_list_inner .magazine_list_item.new .box_img::before {
    width: 50px;
    height: 50px;
  }
}
@media screen and (min-width: 801px) {
  .bnr_mvv a:hover {
    opacity: 0.6;
  }
}
:root {
  --c_blue: #00519b;
}

html {
  font-size: 10px;
}

body {
  color: #fff;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "MS PGothic", "MS Pゴシック", sans-serif;
  -webkit-font-feature-settings: unset;
          font-feature-settings: unset;
  font-weight: 500;
  background-color: #00199c;
  background-image: url(../img/mvv/body_bg.png);
  background-position: 50% 0%;
  background-size: 1500px auto;
}

@media screen and (min-width: 800px) {
  .pc_off {
    display: none !important;
  }
}
@media screen and (max-width: 800px) {
  body {
    min-width: 320px;
    background-size: 750px auto;
  }
  .sp_off {
    display: none !important;
  }
}
#wrapper {
  position: relative;
}

.is-fade > *:not(.is-not) {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
}
.is-fade > .is-not {
  opacity: 0;
  -webkit-transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
}
.is-fade.fadeIn > * {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.box-fade {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
}
.box-fade.fadeIn {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.is-fade > *:nth-child(0) {
  -webkit-transition-delay: 200ms;
          transition-delay: 200ms;
}

.is-fade > *:nth-child(1) {
  -webkit-transition-delay: 320ms;
          transition-delay: 320ms;
}

.is-fade > *:nth-child(2) {
  -webkit-transition-delay: 440ms;
          transition-delay: 440ms;
}

.is-fade > *:nth-child(3) {
  -webkit-transition-delay: 560ms;
          transition-delay: 560ms;
}

.is-fade > *:nth-child(4) {
  -webkit-transition-delay: 680ms;
          transition-delay: 680ms;
}

.is-fade > *:nth-child(5) {
  -webkit-transition-delay: 800ms;
          transition-delay: 800ms;
}

.is-fade > *:nth-child(6) {
  -webkit-transition-delay: 920ms;
          transition-delay: 920ms;
}

.is-fade > *:nth-child(7) {
  -webkit-transition-delay: 1040ms;
          transition-delay: 1040ms;
}

.is-fade > *:nth-child(8) {
  -webkit-transition-delay: 1160ms;
          transition-delay: 1160ms;
}

.is-fade > *:nth-child(9) {
  -webkit-transition-delay: 1280ms;
          transition-delay: 1280ms;
}

.is-fade > *:nth-child(10) {
  -webkit-transition-delay: 1400ms;
          transition-delay: 1400ms;
}

.is-fade > *:nth-child(11) {
  -webkit-transition-delay: 1520ms;
          transition-delay: 1520ms;
}

.is-fade > *:nth-child(12) {
  -webkit-transition-delay: 1640ms;
          transition-delay: 1640ms;
}

.is-fade > *:nth-child(13) {
  -webkit-transition-delay: 1760ms;
          transition-delay: 1760ms;
}

.is-fade > *:nth-child(14) {
  -webkit-transition-delay: 1880ms;
          transition-delay: 1880ms;
}

.is-fade > *:nth-child(15) {
  -webkit-transition-delay: 2000ms;
          transition-delay: 2000ms;
}

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

header

======================================== */
header {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1000;
  padding: 45px 40px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
header .logo {
  width: min(19.3334vw, 174px);
  margin: 7px 0 0 4px;
}
header ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
header ul li:not(:last-of-type) {
  margin-right: 22px;
}

@media screen and (max-width: 800px) {
  header {
    padding: 53px 0 0;
  }
  header .logo {
    width: 139px;
    margin: 0 auto;
  }
  header ul {
    display: none;
  }
}
/* ========================================

footer

======================================== */
footer {
  position: relative;
  padding-bottom: 300px;
}
footer .logo {
  width: 208px;
  margin: 0 auto 60px;
}
footer ul {
  margin-bottom: 78px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
footer ul li:not(:last-of-type) {
  margin-right: 22px;
}
footer .copyright {
  width: 229px;
  margin: 0 auto;
}
footer .pagetop {
  width: 110px;
  position: absolute;
  right: 111px;
  right: min(7.4vw, 111px);
  bottom: 332px;
}
footer .pagetop a::before {
  width: 30px;
  aspect-ratio: 44/36;
  display: block;
  content: "";
  margin: 0 auto 22px;
  background-image: url(../img/mvv/parts_arrow.svg);
  background-repeat: no-repeat;
  background-position: 50% 0%;
  background-size: 100% auto;
  scale: 1 -1;
}
footer .pagetop a span {
  display: block;
}
footer .pagetop a:hover span {
  -webkit-animation: pagetop_hover 1.2s steps(1) infinite;
          animation: pagetop_hover 1.2s steps(1) infinite;
}

@-webkit-keyframes pagetop_hover {
  0%, 100% {
    clip-path: polygon(0 0, 0 0, 0 100%, 12.7273% 100%, 12.7273% 0, 100% 0, 100% 100%, 0 100%);
  }
  16.666% {
    clip-path: polygon(0 0, 12.7273% 0, 12.7273% 100%, 25.4546% 100%, 25.4546% 0, 100% 0, 100% 100%, 0 100%);
  }
  33.333% {
    clip-path: polygon(0 0, 25.4546% 0, 25.4546% 100%, 38.1819% 100%, 38.1819% 0, 100% 0, 100% 100%, 0 100%);
  }
  50% {
    clip-path: polygon(0 0, 38.1819% 0, 38.1819% 100%, 60% 100%, 60% 0, 100% 0, 100% 100%, 0 100%);
  }
  66.666% {
    clip-path: polygon(0 0, 60% 0, 60% 100%, 82.7273% 100%, 82.7273% 0, 100% 0, 100% 100%, 0 100%);
  }
  83.333% {
    clip-path: polygon(0 0, 82.7273% 0, 82.7273% 100%, 100% 100%, 100% 0, 100% 0, 100% 100%, 0 100%);
  }
}

@keyframes pagetop_hover {
  0%, 100% {
    clip-path: polygon(0 0, 0 0, 0 100%, 12.7273% 100%, 12.7273% 0, 100% 0, 100% 100%, 0 100%);
  }
  16.666% {
    clip-path: polygon(0 0, 12.7273% 0, 12.7273% 100%, 25.4546% 100%, 25.4546% 0, 100% 0, 100% 100%, 0 100%);
  }
  33.333% {
    clip-path: polygon(0 0, 25.4546% 0, 25.4546% 100%, 38.1819% 100%, 38.1819% 0, 100% 0, 100% 100%, 0 100%);
  }
  50% {
    clip-path: polygon(0 0, 38.1819% 0, 38.1819% 100%, 60% 100%, 60% 0, 100% 0, 100% 100%, 0 100%);
  }
  66.666% {
    clip-path: polygon(0 0, 60% 0, 60% 100%, 82.7273% 100%, 82.7273% 0, 100% 0, 100% 100%, 0 100%);
  }
  83.333% {
    clip-path: polygon(0 0, 82.7273% 0, 82.7273% 100%, 100% 100%, 100% 0, 100% 0, 100% 100%, 0 100%);
  }
}
.rocket {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none;
  z-index: -1;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.rocket::before {
  width: 1430px;
  aspect-ratio: 1430/1200.433;
  display: block;
  content: "";
  position: absolute;
  top: 100%;
  left: 100%;
  margin-left: -298px;
  margin-top: -289px;
  background-image: url(../img/mvv/parts_rocket.svg);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100%;
  -webkit-transition: scale 2s, translate 4s, opacity 0.6s, -webkit-transform-origin 0.1s;
  transition: scale 2s, translate 4s, opacity 0.6s, -webkit-transform-origin 0.1s;
  transition: scale 2s, translate 4s, opacity 0.6s, transform-origin 0.1s;
  transition: scale 2s, translate 4s, opacity 0.6s, transform-origin 0.1s, -webkit-transform-origin 0.1s;
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
  -webkit-transform-origin: 127px 90px;
          transform-origin: 127px 90px;
  -webkit-transition-timing-function: cubic-bezier(0.4, -0.21, 0, 1);
          transition-timing-function: cubic-bezier(0.4, -0.21, 0, 1);
}
.rocket.hover::before {
  -webkit-animation: rocket_hover 0.1s steps(2) infinite;
          animation: rocket_hover 0.1s steps(2) infinite;
}
.rocket.hidden {
  opacity: 0;
}
.rocket.hidden::before {
  -webkit-transition: scale 1s, translate 2.4s, opacity 0.6s;
  transition: scale 1s, translate 2.4s, opacity 0.6s;
}
.rocket.active {
  position: fixed;
  z-index: 9999;
}
.rocket.active::before {
  scale: 2.2;
  translate: -200vw -200vh;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

@-webkit-keyframes rocket_hover {
  0% {
    rotate: 0deg;
  }
  to {
    rotate: -3deg;
  }
}

@keyframes rocket_hover {
  0% {
    rotate: 0deg;
  }
  to {
    rotate: -3deg;
  }
}
@media screen and (max-width: 800px) {
  footer .logo {
    width: 34.75vw;
    margin-bottom: 12.5vw;
  }
  footer ul {
    margin-bottom: 54px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  footer ul li:not(:last-of-type) {
    margin-right: 0;
    margin-bottom: 7.0001vw;
  }
  footer .copyright {
    width: 191px;
    margin-bottom: 68px;
  }
  footer .pagetop {
    width: 63px;
    position: relative;
    right: auto;
    bottom: auto;
    margin: 0 auto;
  }
  .rocket::before {
    margin-left: -320px;
    margin-top: -280px;
  }
  .rocket.active::before {
    translate: -300vw -300vh;
  }
}
/* ========================================

common

======================================== */
.frame {
  width: 100vw;
  height: 100vh;
  position: fixed;
  overflow: hidden;
  top: 0;
  left: 0;
  z-index: 1000;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
}
.frame._inactive {
  opacity: 0;
}
.frame::before {
  width: 100%;
  height: 58px;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  background-image: url(../img/mvv/parts_frame_bottom.png);
  background-repeat: no-repeat;
  background-position: 50% 100%;
  background-size: 580px auto;
  z-index: 1;
}
.frame span {
  width: 100%;
  height: 100%;
  z-index: -1;
}
.frame span::before {
  width: calc(100% + 100px);
  height: calc(100% + 100px);
  display: block;
  content: "";
  position: absolute;
  top: -50px;
  left: -50px;
  padding: 90px;
  border-radius: 150px;
  background-color: rgba(59, 57, 56, 0.5);
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) content-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
.frame span::after {
  width: calc(100% + 100px);
  height: calc(100% + 100px);
  display: block;
  content: "";
  position: absolute;
  top: -50px;
  left: -50px;
  padding: 80px;
  border-radius: 150px;
  background-color: #3b3938;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) content-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

@media screen and (max-width: 800px) {
  .frame {
    clip-path: polygon(0 0, 100% 0, 100% 36%, 0 36%, 0 64%, 100% 64%, 100% 100%, 0 100%);
  }
  .frame::before {
    background-image: url(../img/mvv/parts_frame_bottom_sp.png);
    background-size: 289px 29px;
  }
  .frame span::before {
    padding: 63px;
    border-radius: 102px;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(59, 57, 56, 0.5)), color-stop(20%, rgba(59, 57, 56, 0.4)), color-stop(25%, rgba(59, 57, 56, 0.2)), color-stop(35%, rgba(59, 57, 56, 0)), color-stop(50%, rgba(59, 57, 56, 0)), color-stop(65%, rgba(59, 57, 56, 0)), color-stop(75%, rgba(59, 57, 56, 0.2)), color-stop(80%, rgba(59, 57, 56, 0.4)), to(rgba(59, 57, 56, 0.5)));
    background: linear-gradient(180deg, rgba(59, 57, 56, 0.5) 0%, rgba(59, 57, 56, 0.4) 20%, rgba(59, 57, 56, 0.2) 25%, rgba(59, 57, 56, 0) 35%, rgba(59, 57, 56, 0) 50%, rgba(59, 57, 56, 0) 65%, rgba(59, 57, 56, 0.2) 75%, rgba(59, 57, 56, 0.4) 80%, rgba(59, 57, 56, 0.5) 100%);
  }
  .frame span::after {
    padding: 58px;
    border-radius: 100px;
    background: -webkit-gradient(linear, left top, left bottom, from(#3b3938), color-stop(20%, rgba(59, 57, 56, 0.9)), color-stop(25%, rgba(59, 57, 56, 0.7)), color-stop(35%, rgba(59, 57, 56, 0)), color-stop(50%, rgba(59, 57, 56, 0)), color-stop(65%, rgba(59, 57, 56, 0)), color-stop(75%, rgba(59, 57, 56, 0.7)), color-stop(80%, rgba(59, 57, 56, 0.9)), to(#3b3938));
    background: linear-gradient(180deg, #3b3938 0%, rgba(59, 57, 56, 0.9) 20%, rgba(59, 57, 56, 0.7) 25%, rgba(59, 57, 56, 0) 35%, rgba(59, 57, 56, 0) 50%, rgba(59, 57, 56, 0) 65%, rgba(59, 57, 56, 0.7) 75%, rgba(59, 57, 56, 0.9) 80%, #3b3938 100%);
  }
}
.cmn_bnr {
  width: 250px;
  width: min(27.7778vw, 250px);
  height: 80px;
}
.cmn_bnr._corporate a::before {
  background: -webkit-gradient(linear, left top, right top, from(#f9bc00), color-stop(20%, #dc007a), color-stop(80%, #dc007a), to(#f9bc00));
  background: linear-gradient(90deg, #f9bc00 0%, #dc007a 20%, #dc007a 80%, #f9bc00 100%);
}
.cmn_bnr a {
  width: 100%;
  height: 100%;
  position: relative;
  background-color: #fff;
  border-radius: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cmn_bnr a::before {
  width: calc(100% + 12px);
  height: calc(100% + 12px);
  content: "";
  position: absolute;
  top: -6px;
  left: -6px;
  border-radius: 29px;
  padding: 3px;
  background: -webkit-gradient(linear, left top, right top, from(#dc007a), color-stop(20%, #f9bc00), color-stop(80%, #f9bc00), to(#dc007a));
  background: linear-gradient(90deg, #dc007a 0%, #f9bc00 20%, #f9bc00 80%, #dc007a 100%);
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) content-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  clip-path: polygon(0 0, 38px 0, 38px 32px, 0 32px, 100% calc(100% - 32px), 100% 100%, calc(100% - 38px) 100%, calc(100% - 38px) calc(100% - 32px), 100% calc(100% - 32px), 0 32px);
  -webkit-transition: all 0.5s cubic-bezier(0.33, 1, 0.68, 1);
  transition: all 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}
.cmn_bnr a .txt {
  width: min(33.2%, 83px);
  display: block;
  margin-left: min(10%, 25px);
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.cmn_bnr a .img {
  width: 100px;
  display: block;
  position: absolute;
  top: 50%;
  right: 15px;
  translate: 0 -50%;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.cmn_bnr a:hover {
  opacity: 0.95;
  scale: 0.95;
}
.cmn_bnr a:hover::before {
  opacity: 0;
}

@media screen and (max-width: 800px) {
  .cmn_bnr {
    width: 270px;
    height: 75px;
  }
  .cmn_bnr._corporate a .img {
    right: auto;
    left: 10px;
  }
  .cmn_bnr._corporate a .txt {
    margin-left: auto;
    margin-right: 16px;
  }
  .cmn_bnr a {
    border-radius: 3.125vw;
  }
  .cmn_bnr a::before {
    display: none;
  }
  .cmn_bnr a .img {
    right: 28px;
  }
}
.cmn_arrow {
  width: 30px;
  aspect-ratio: 44/36;
  display: block;
  margin: 0 auto;
  background-image: url(../img/mvv/parts_arrow.svg);
  background-repeat: no-repeat;
  background-position: 50% 0%;
  background-size: 100% auto;
  -webkit-animation: cmn_arrow 1s steps(5) infinite;
          animation: cmn_arrow 1s steps(5) infinite;
}

@-webkit-keyframes cmn_arrow {
  0% {
    translate: 0 0;
  }
  to {
    translate: 0 15px;
  }
}

@keyframes cmn_arrow {
  0% {
    translate: 0 0;
  }
  to {
    translate: 0 15px;
  }
}
@-webkit-keyframes cmn_arrow2 {
  0% {
    translate: 0 0;
  }
  to {
    translate: 0 6px;
  }
}
@keyframes cmn_arrow2 {
  0% {
    translate: 0 0;
  }
  to {
    translate: 0 6px;
  }
}
.balloon {
  position: relative;
  margin: 0 auto;
  z-index: 1;
}
.balloon_wrap > *:nth-child(0) {
  -webkit-transition-delay: 200ms;
          transition-delay: 200ms;
}
.balloon_wrap > *:nth-child(1) {
  -webkit-transition-delay: 320ms;
          transition-delay: 320ms;
}
.balloon_wrap > *:nth-child(2) {
  -webkit-transition-delay: 440ms;
          transition-delay: 440ms;
}
.balloon_wrap > *:nth-child(3) {
  -webkit-transition-delay: 560ms;
          transition-delay: 560ms;
}
.balloon_wrap > *:nth-child(4) {
  -webkit-transition-delay: 680ms;
          transition-delay: 680ms;
}
.balloon_wrap > *:nth-child(5) {
  -webkit-transition-delay: 800ms;
          transition-delay: 800ms;
}
.balloon_wrap > *:nth-child(6) {
  -webkit-transition-delay: 920ms;
          transition-delay: 920ms;
}
.balloon_wrap > *:nth-child(7) {
  -webkit-transition-delay: 1040ms;
          transition-delay: 1040ms;
}
.balloon_wrap > *:nth-child(8) {
  -webkit-transition-delay: 1160ms;
          transition-delay: 1160ms;
}
.balloon_wrap > *:nth-child(9) {
  -webkit-transition-delay: 1280ms;
          transition-delay: 1280ms;
}
.balloon_wrap > *:nth-child(10) {
  -webkit-transition-delay: 1400ms;
          transition-delay: 1400ms;
}
.balloon_wrap > *:nth-child(11) {
  -webkit-transition-delay: 1520ms;
          transition-delay: 1520ms;
}
.balloon_wrap > *:nth-child(12) {
  -webkit-transition-delay: 1640ms;
          transition-delay: 1640ms;
}
.balloon_wrap > *:nth-child(13) {
  -webkit-transition-delay: 1760ms;
          transition-delay: 1760ms;
}
.balloon_wrap > *:nth-child(14) {
  -webkit-transition-delay: 1880ms;
          transition-delay: 1880ms;
}
.balloon_wrap > *:nth-child(15) {
  -webkit-transition-delay: 2000ms;
          transition-delay: 2000ms;
}
.balloon_grp {
  position: relative;
  z-index: 3;
}
.balloon .illust {
  width: min(13.7814%, 121px);
  position: absolute;
  bottom: 0;
  z-index: 2;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.balloon:not(._large) {
  margin-bottom: 55px;
}
.balloon:not(._zuu) {
  width: min(83.6191%, 878px);
}
.balloon:not(._zuu) .balloon_cont {
  width: min(91.1162%, 800px);
  padding: 50px 0;
  background-color: rgba(255, 255, 255, 0.95);
  border-radius: 50px;
  -webkit-box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
          box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
}
.balloon:not(._zuu) .balloon_cont .txt {
  color: var(--c_blue);
  font-size: 18px;
  line-height: 1.6667;
}
.balloon:not(._zuu):not(._reverse) .illust {
  right: 0;
}
.balloon:not(._zuu):not(._reverse) .balloon_cont {
  padding-right: 7.9727%;
  padding-left: 5.6948%;
  border-top-left-radius: 0;
  border-bottom-right-radius: 25px;
}
.balloon:not(._zuu):not(._reverse) .balloon_cont::before {
  left: 0;
  border-bottom-left-radius: 0;
}
.balloon:not(._zuu):not(._reverse) .balloon_cont::after {
  left: 0;
}
.balloon:not(._zuu)._reverse .illust {
  left: 0;
}
.balloon:not(._zuu)._reverse .balloon_cont {
  margin-left: auto;
  padding-right: 5.6948%;
  padding-left: 7.9727%;
  border-top-right-radius: 0;
  border-bottom-left-radius: 25px;
}
.balloon:not(._zuu)._reverse .balloon_cont::before {
  right: 0;
  border-bottom-right-radius: 0;
}
.balloon:not(._zuu)._reverse .balloon_cont::after {
  right: 0;
}
.balloon_cont {
  position: relative;
  z-index: 1;
}
.balloon_cont::before, .balloon_cont::after {
  width: 150px;
  height: 40px;
  content: "";
  display: block;
  position: absolute;
  top: -20px;
}
.balloon_cont::before {
  border: 1px solid #fff;
  border-radius: 20px;
  z-index: 2;
}
.balloon_cont::after {
  background-repeat: no-repeat;
  background-position: 50% 50%;
  z-index: 3;
}
.balloon_cont .txt {
  margin: 0 auto;
}
.balloon._porkun .balloon_cont::before {
  background: -webkit-gradient(linear, left top, right top, from(#00519b), to(#00309b));
  background: linear-gradient(90deg, #00519b 0%, #00309b 100%);
}
.balloon._porkun .balloon_cont::after {
  background-image: url(../img/mvv/parts_balloon_name_porkun.png);
  background-size: 79px;
}
.balloon._tarchan .balloon_cont::before {
  background: -webkit-gradient(linear, left top, right top, from(#47e9ba), to(#5497a2));
  background: linear-gradient(90deg, #47e9ba 0%, #5497a2 100%);
}
.balloon._tarchan .balloon_cont::after {
  background-image: url(../img/mvv/parts_balloon_name_terchan.png);
  background-size: 97px;
}
.balloon._zuu {
  padding: 80px 20px 20px;
  background: -webkit-gradient(linear, left bottom, left top, from(#FBCC00), color-stop(16%, #F0932E), color-stop(52%, #E9652D), color-stop(93%, #E4352B));
  background: linear-gradient(0deg, #FBCC00 0%, #F0932E 16%, #E9652D 52%, #E4352B 93%);
  border-radius: 25px;
}
.balloon._zuu:not(._large) {
  width: min(83.4286%, 876px);
}
.balloon._zuu:not(._large) .balloon_cont {
  padding: 46px 0;
}
.balloon._zuu._large {
  width: min(95.2381%, 1000px);
  margin-top: 110px;
}
.balloon._zuu._large .balloon_cont {
  padding: 55px 0;
}
.balloon._zuu::before {
  width: 100%;
  height: 101px;
  content: "";
  display: block;
  position: absolute;
  top: -42px;
  left: 0;
  background-image: url(../img/mvv/parts_balloon_illust_zuu.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 75px;
}
.balloon._zuu::after {
  width: 20px;
  aspect-ratio: 44/36;
  display: block;
  content: "";
  position: absolute;
  right: 44px;
  bottom: 46px;
  z-index: 2;
  background-image: url(../img/mvv/parts_arrow.svg);
  background-repeat: no-repeat;
  background-position: 50% 0%;
  background-size: 100% auto;
  -webkit-animation: cmn_arrow2 0.8s steps(2) infinite;
          animation: cmn_arrow2 0.8s steps(2) infinite;
}
.balloon._zuu .balloon_cont {
  width: 100%;
  margin: 0 auto;
  background-image: radial-gradient(#000 0.5px, #252525 0.5px);
  background-size: 3px 3px;
  background-position: 0 0;
  border-radius: 15px;
}
.balloon._zuu .balloon_cont::before {
  right: 0;
  border-bottom-right-radius: 0;
  border-color: #000;
  background: -webkit-gradient(linear, left bottom, left top, from(#FBCC00), color-stop(16%, #F0932E), color-stop(52%, #E9652D), color-stop(93%, #E4352B));
  background: linear-gradient(0deg, #FBCC00 0%, #F0932E 16%, #E9652D 52%, #E4352B 93%);
}
.balloon._zuu .balloon_cont::after {
  right: 0;
  background-image: url(../img/mvv/parts_balloon_name_zuu.png);
  background-size: 39px;
}
.balloon._zuu .balloon_cont .txt {
  color: #fff;
}

@media screen and (max-width: 800px) {
  .balloon .illust {
    width: 81px;
  }
  .balloon:not(._large) {
    margin-bottom: 30px;
  }
  .balloon:not(._zuu) {
    width: 87.5vw;
  }
  .balloon:not(._zuu) .balloon_cont {
    width: 100%;
    min-height: 117px;
    padding: 21px 0;
    border-radius: min(6.25vw, 25px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .balloon:not(._zuu) .balloon_cont .txt {
    font-size: min(3.75vw, 15px);
  }
  .balloon:not(._zuu):not(._reverse) .illust {
    right: -6px;
  }
  .balloon:not(._zuu):not(._reverse) .balloon_cont {
    padding-right: 0;
    padding-left: 0;
    border-top-left-radius: 0;
  }
  .balloon:not(._zuu):not(._reverse) .balloon_cont .txt {
    margin-left: 6.25vw;
  }
  .balloon:not(._zuu)._reverse .illust {
    left: -6px;
  }
  .balloon:not(._zuu)._reverse .balloon_cont {
    padding-right: 0;
    padding-left: 0;
    border-top-right-radius: 0;
  }
  .balloon:not(._zuu)._reverse .balloon_cont .txt {
    margin-right: 6.25vw;
  }
  .balloon_cont::before, .balloon_cont::after {
    width: 90px;
    height: 26px;
    top: -13px;
  }
  .balloon_cont .txt {
    width: calc(100% - 90px - 6.25vw);
  }
  .balloon._porkun .balloon_cont::after {
    background-size: 55px;
  }
  .balloon._tarchan .balloon_cont::after {
    background-size: 68px;
  }
  .balloon._zuu {
    padding: 50px 10px 10px;
    border-radius: min(3.125vw, 12.5px);
  }
  .balloon._zuu:not(._large) {
    width: 90vw;
  }
  .balloon._zuu:not(._large) .balloon_cont {
    padding: 26px 0;
  }
  .balloon._zuu._large {
    width: 90vw;
    margin-top: 55px;
  }
  .balloon._zuu._large .balloon_cont {
    padding: 26px 0;
  }
  .balloon._zuu::before {
    height: 50px;
    top: -12px;
    left: 0;
    background-size: auto 100%;
  }
  .balloon._zuu::after {
    width: 2.5vw;
    right: 22px;
    bottom: 28px;
  }
  .balloon._zuu .balloon_cont {
    border-radius: min(1.875vw, 7.5px);
  }
  .balloon._zuu .balloon_cont::before, .balloon._zuu .balloon_cont::after {
    top: -63px;
    right: -10px;
  }
  .balloon._zuu .balloon_cont::after {
    background-size: 27px;
  }
}
.star {
  display: block;
  position: absolute;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  z-index: 10;
}
.star::before {
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  opacity: 0;
}
.star01, .star02, .star03 {
  height: 2px;
  rotate: -26deg;
}
.star01::before, .star02::before, .star03::before {
  background-image: url(../img/mvv/parts_star01.svg);
  background-repeat: no-repeat;
  background-size: 100% 2px;
}
.star04, .star05, .star06 {
  height: 1px;
  rotate: -26deg;
}
.star04::before, .star05::before, .star06::before {
  border-top: 0.5px solid rgba(255, 255, 255, 0.6);
}
.star01 {
  width: 70px;
}
.star02 {
  width: 90px;
}
.star03 {
  width: 110px;
}
.star04 {
  width: 60px;
}
.star05 {
  width: 90px;
}
.star06 {
  width: 120px;
}
.star.ani1 {
  -webkit-animation: star01_wrap 0.9s cubic-bezier(0.45, 0, 0.55, 1);
          animation: star01_wrap 0.9s cubic-bezier(0.45, 0, 0.55, 1);
}
.star.ani1::before {
  -webkit-animation: star01 0.9s cubic-bezier(0.45, 0, 0.55, 1);
          animation: star01 0.9s cubic-bezier(0.45, 0, 0.55, 1);
}
.star.ani2 {
  -webkit-animation: star01_wrap 1.2s cubic-bezier(0.45, 0, 0.55, 1);
          animation: star01_wrap 1.2s cubic-bezier(0.45, 0, 0.55, 1);
}
.star.ani2::before {
  -webkit-animation: star01 1.2s cubic-bezier(0.45, 0, 0.55, 1);
          animation: star01 1.2s cubic-bezier(0.45, 0, 0.55, 1);
}
.star.ani3 {
  -webkit-animation: star01_wrap 1.3s cubic-bezier(0.45, 0, 0.55, 1);
          animation: star01_wrap 1.3s cubic-bezier(0.45, 0, 0.55, 1);
}
.star.ani3::before {
  -webkit-animation: star01 1.3s cubic-bezier(0.45, 0, 0.55, 1);
          animation: star01 1.3s cubic-bezier(0.45, 0, 0.55, 1);
}
.star07 {
  width: 20px;
  height: 20px;
  top: 50%;
}
.star07::before {
  background-image: url(../img/mvv/parts_star02.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  -webkit-animation: star02 1.2s infinite;
          animation: star02 1.2s infinite;
}
.star07::after {
  width: 100%;
  aspect-ratio: 1/1;
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  background: radial-gradient(circle, white 0%, rgba(255, 255, 255, 0.3) 30%, rgba(255, 255, 255, 0) 60%);
  border-radius: 50%;
  translate: -50% -50%;
  scale: 4;
  opacity: 0.1;
}
.star07._01 {
  scale: 0.65;
  right: 50%;
  margin-top: -25.9333%;
  margin-right: 25.9334%;
}
.star07._02 {
  scale: 0.85;
  left: -0.6%;
  margin-top: -9.6666%;
}
.star07._02::before {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.star07._03 {
  left: 50%;
  margin-top: -11.0666%;
  margin-left: 25.6%;
}
.star07._04 {
  right: 50%;
  margin-right: 34.4%;
  margin-top: 13.3334%;
}
.star07._04::before {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}
.star07._05 {
  scale: 0.85;
  left: 50%;
  margin-left: 42.8%;
}
.star07._05::before {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.star07._06 {
  scale: 1.25;
  left: 50%;
  margin-top: 24%;
  margin-left: 25.8%;
}
.star07._06::before {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}

@-webkit-keyframes star01 {
  0% {
    opacity: 0;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: 100% 50%;
            transform-origin: 100% 50%;
  }
  60% {
    opacity: 1;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: 100% 50%;
            transform-origin: 100% 50%;
  }
  61% {
    opacity: 1;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: 0% 50%;
            transform-origin: 0% 50%;
  }
  to {
    opacity: 0;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: 0% 50%;
            transform-origin: 0% 50%;
  }
}

@keyframes star01 {
  0% {
    opacity: 0;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: 100% 50%;
            transform-origin: 100% 50%;
  }
  60% {
    opacity: 1;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: 100% 50%;
            transform-origin: 100% 50%;
  }
  61% {
    opacity: 1;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: 0% 50%;
            transform-origin: 0% 50%;
  }
  to {
    opacity: 0;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: 0% 50%;
            transform-origin: 0% 50%;
  }
}
@-webkit-keyframes star01_wrap {
  0% {
    translate: 0 0;
  }
  30% {
    translate: 0 0;
  }
  to {
    translate: -30px 15px;
  }
}
@keyframes star01_wrap {
  0% {
    translate: 0 0;
  }
  30% {
    translate: 0 0;
  }
  to {
    translate: -30px 15px;
  }
}
@-webkit-keyframes star02 {
  0% {
    opacity: 0.8;
    scale: 0.8;
  }
  50% {
    opacity: 1;
    scale: 1;
  }
  to {
    opacity: 0.8;
    scale: 0.8;
  }
}
@keyframes star02 {
  0% {
    opacity: 0.8;
    scale: 0.8;
  }
  50% {
    opacity: 1;
    scale: 1;
  }
  to {
    opacity: 0.8;
    scale: 0.8;
  }
}
/* ========================================

fv

======================================== */
.fv {
  height: 100vh;
  position: relative;
  background-color: #00199c;
}
.fv::before {
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: radial-gradient(rgba(35, 24, 21, 0) 30%, rgba(35, 24, 21, 0.9) 70%, #231815 100%);
  mix-blend-mode: overlay;
  z-index: 1;
  opacity: 0.78;
}
.fv::after {
  width: 100vmin;
  height: 100vmin;
  aspect-ratio: 1/1;
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: radial-gradient(circle, white 0%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 70%);
  border-radius: 50%;
  translate: -50% -50%;
  z-index: 2;
  mix-blend-mode: overlay;
}
.fv_inner {
  height: 100%;
  position: relative;
  background-image: url(../img/mvv/fv_bg01.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  z-index: 2;
}
.fv_txt {
  width: 100%;
  height: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.fv h2 {
  width: min(95vw, 994px);
  height: min(70.7778vh, 637px);
  position: relative;
  margin: 0 auto;
  z-index: 2;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.fv h2 img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  position: relative;
  z-index: 2;
}
.fv .sub {
  width: clamp(132px, 22.4445vh, 202px);
  height: clamp(30px, 5.1112vh, 46px);
  aspect-ratio: 202/46;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-top: calc(min(72.2223vh, 650px) / 2);
  border: 2px solid #fff;
  border-radius: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  translate: -50% -100%;
}
.fv .sub img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  position: relative;
  z-index: 2;
  opacity: 0;
  -webkit-animation: sub 2s steps(6) infinite;
          animation: sub 2s steps(6) infinite;
}
.fv .arrow {
  width: min(4.8889vh, 44px);
  position: absolute;
  left: 50%;
  bottom: -8px;
  translate: -50% 0%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.fv .arrow span, .fv .arrow::before, .fv .arrow::after {
  width: 100%;
  aspect-ratio: 44/36;
  display: block;
  content: "";
  margin-top: -11.1112%;
  background-image: url(../img/mvv/parts_arrow.svg);
  background-repeat: no-repeat;
  background-position: 50% 0%;
  background-size: 100% auto;
  opacity: 0;
}
.fv .arrow span {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  -webkit-animation: arrow 1.2s steps(3) infinite;
          animation: arrow 1.2s steps(3) infinite;
}
.fv .arrow::before {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  -webkit-animation: arrow 1.2s steps(3) infinite;
          animation: arrow 1.2s steps(3) infinite;
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.fv .arrow::after {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  -webkit-animation: arrow 1.2s steps(3) infinite;
          animation: arrow 1.2s steps(3) infinite;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}
.fv .illust {
  display: block;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.fv .illust._01 {
  width: min(36.4%, 364px);
  aspect-ratio: 728/700;
  content: "";
  position: absolute;
  top: -77px;
  left: -46px;
  background-image: url(../img/mvv/fv_illust01.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
}
.fv .illust._01::before {
  width: min(29.9451%, 109px);
  aspect-ratio: 1/1;
  display: block;
  content: "";
  position: absolute;
  right: 15px;
  bottom: -18px;
  background: linear-gradient(145deg, #0046ff 0%, rgba(0, 70, 255, 0.05) 67%, rgba(0, 70, 255, 0) 100%);
  border-radius: 50%;
  z-index: 1;
}
.fv .illust._01 img {
  position: relative;
  z-index: 2;
}
.fv .illust._02 {
  width: min(31.3334%, 329px);
  aspect-ratio: 658/270;
  position: absolute;
  top: 99px;
  right: 103px;
}
.fv .illust._02::before {
  width: 100%;
  height: 100%;
  display: block;
  content: "";
  position: relative;
  background-image: url(../img/mvv/fv_illust02.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  z-index: 2;
}
.fv .illust._02::after {
  width: min(57.1429%, 188px);
  aspect-ratio: 1/1;
  display: block;
  content: "";
  position: absolute;
  right: 50%;
  top: 50%;
  background: linear-gradient(135deg, #0014ff 0%, rgba(0, 20, 255, 0) 70%);
  border-radius: 50%;
  opacity: 0.8;
  z-index: 1;
  translate: calc(50% + 6px) -50%;
  z-index: 1;
}
.fv .illust._03 {
  width: min(24.5334%, 368px);
  aspect-ratio: 736/866;
  position: absolute;
  right: 0;
  bottom: 136px;
  background-image: url(../img/mvv/fv_illust03.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  translate: 0 100%;
}
.fv .illust._03::before {
  width: min(52.9892%, 195px);
  aspect-ratio: 1/1;
  display: block;
  content: "";
  position: absolute;
  top: -33px;
  left: -12px;
  background: linear-gradient(145deg, #0046ff 0%, rgba(0, 70, 255, 0.4) 35%, rgba(0, 70, 255, 0.1) 55%, rgba(0, 70, 255, 0) 100%);
  border-radius: 50%;
  opacity: 0.6;
  z-index: 2;
}
.fv .illust._03 img {
  position: relative;
  z-index: 1;
}

@-webkit-keyframes sub {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

@keyframes sub {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
@-webkit-keyframes arrow {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes arrow {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@media screen and (max-width: 800px) {
  .fv {
    height: 100svh;
  }
  .fv::after {
    width: 100%;
    height: unset;
  }
  .fv_txt {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .fv h2 {
    width: 100%;
    max-width: 600px;
    height: auto;
  }
  .fv .sub {
    width: 180px;
    height: 45px;
    position: relative;
    top: auto;
    left: auto;
    margin: 0;
    translate: 0 32px;
  }
  .fv .arrow {
    width: 26px;
    bottom: 40px;
  }
  .fv .illust._01 {
    width: 133px;
    top: -18px;
    left: -48px;
  }
  .fv .illust._01::before {
    right: 5px;
    bottom: -7px;
  }
  .fv .illust._01::after {
    width: min(30.0752%, 40px);
    right: 6px;
    bottom: -7px;
  }
  .fv .illust._02 {
    width: 110px;
    height: 84px;
    overflow: hidden;
    top: 35px;
    top: 0;
    right: 0;
  }
  .fv .illust._02::before {
    background-size: 148.1819% auto;
    background-position: 2p 3px;
  }
  .fv .illust._02::after {
    width: 85.4546%;
    top: auto;
    right: auto;
    bottom: 0;
    left: 41px;
    translate: 0 0;
  }
  .fv .illust._03 {
    width: 74px;
    aspect-ratio: 148/298;
    bottom: 111px;
    background-image: url(../img/mvv/fv_illust03_sp.png);
  }
  .fv .illust._03::before {
    width: min(89.1892%, 66px);
    top: -11px;
    left: -4px;
  }
  .fv .star07._01 {
    scale: 0.425 0.5;
    margin-top: -28%;
    margin-right: 39.25%;
  }
  .fv .star07._02 {
    scale: 0.425 0.5;
    left: auto;
    right: 50%;
    margin-top: 25.5%;
    margin-right: 37%;
  }
  .fv .star07._03 {
    scale: 0.5 0.575;
    margin-top: -44.5%;
    margin-left: 32.75%;
  }
  .fv .star07._04 {
    scale: 0.5 0.575;
    right: auto;
    left: 50%;
    margin-top: 21.75%;
    margin-left: 25.5%;
    margin-right: 0;
  }
  .fv .star07._05 {
    width: 12px;
    scale: 0.65;
    left: auto;
    overflow: hidden;
    margin-top: 37%;
    right: 0;
    -webkit-transform-origin: 100% 50%;
            transform-origin: 100% 50%;
  }
  .fv .star07._05::before {
    background-size: auto 100%;
  }
  .fv .star07._05::after {
    display: none;
  }
  .fv .star07._06 {
    display: none;
  }
}
/* ========================================

intro

======================================== */
.intro {
  overflow: hidden;
  position: relative;
}
.intro::before {
  width: 100%;
  height: 182vh;
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(70%, rgba(0, 0, 0, 0)), to(black));
  background: linear-gradient(0deg, rgba(0, 0, 0, 0) 70%, black 100%);
  mix-blend-mode: overlay;
  opacity: 0.6;
  z-index: 1;
}
.intro_inner {
  padding-top: 425px;
}
.intro_hl {
  position: relative;
  margin-bottom: min(36.1905vw, 380px);
  z-index: 2;
}
.intro_hl.fadeIn::before, .intro_hl.fadeIn::after {
  opacity: 1;
  translate: 0 0;
}
.intro_hl::before {
  width: min(13vw, 169px);
  aspect-ratio: 338/454;
  content: "";
  display: block;
  position: absolute;
  top: min(10vw, 105px);
  right: 50%;
  margin-right: min(38.6667vw, 406px);
  background-image: url(../img/mvv/intro_hl_illust01.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  z-index: 3;
  opacity: 0;
  translate: -30px 30px;
  -webkit-transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}
.intro_hl::after {
  width: min(14.1539vw, 184px);
  aspect-ratio: 368/426;
  content: "";
  display: block;
  position: absolute;
  top: max(-2.2666vw, -34px);
  left: 50%;
  margin-left: min(35.2381vw, 370px);
  background-image: url(../img/mvv/intro_hl_illust02.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  z-index: 3;
  opacity: 0;
  translate: 30px 30px;
  -webkit-transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}
.intro_hl h2 {
  width: min(54.381%, 571px);
  margin: 0 auto;
  margin-bottom: min(4.762vw, 50px);
}
.intro_hl .sub {
  width: min(50%, 525px);
  margin: 0 auto;
  margin-bottom: min(5.5239vw, 58px);
}
.intro .txt {
  font-size: 30px;
  font-weight: 700;
  text-align: center;
  line-height: 2;
}
.intro .illust {
  display: block;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.intro .illust._01 {
  width: min(41.6924vw, 542px);
  aspect-ratio: 1084/446;
  display: block;
  position: absolute;
  top: calc(425px + min(36.9524vw, 388px));
  right: 50%;
  margin-right: min(23.4001%, 351px);
}
.intro .illust._01::before {
  width: 100%;
  height: 100%;
  display: block;
  content: "";
  position: relative;
  background-image: url(../img/mvv/intro_hl_illust04.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  z-index: 0;
}
.intro .illust._01::after {
  width: min(57.1956%, 310px);
  aspect-ratio: 1/1;
  display: block;
  content: "";
  position: absolute;
  top: 51.5%;
  left: 48.5%;
  background: linear-gradient(-135deg, white 0%, rgba(255, 255, 255, 0) 75%, rgba(255, 255, 255, 0) 100%);
  mix-blend-mode: overlay;
  border-radius: 50%;
  translate: -50% -50%;
  z-index: -1;
}
.intro .illust._02 {
  width: min(26.5385vw, 345px);
  aspect-ratio: 690/890;
  position: absolute;
  top: calc(425px + min(24.381vw, 256px));
  left: 50%;
  margin-left: min(30.3334vw, 455px);
  background-image: url(../img/mvv/intro_hl_illust03.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: auto 100%;
  opacity: 0;
  translate: 30px 30px;
  -webkit-transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}
.intro .illust._02.fadeIn {
  opacity: 1;
  translate: 0 0;
}

@media screen and (max-width: 800px) {
  .intro::before {
    height: 205vw;
    background: -webkit-gradient(linear, left bottom, left top, color-stop(40%, rgba(0, 0, 0, 0)), to(black));
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 40%, black 100%);
  }
  .intro::after {
    width: 100%;
    height: 100vh;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url(../img/mvv/body_bg.png);
    background-position: 50% 50%;
    background-repeat: repeat-x;
    background-size: 1000px auto;
    z-index: 2;
  }
  .intro_inner {
    padding-top: 297px;
  }
  .intro_hl {
    margin-bottom: 56.0001vw;
  }
  .intro_hl::before {
    width: min(21vw, 110px);
    top: min(58.25vw, 466px);
    margin-right: 26.25%;
    right: auto;
    left: 2.75%;
    margin: 0;
  }
  .intro_hl::after {
    width: min(22.75vw, 120px);
    top: -153px;
    left: auto;
    right: 2.75%;
    margin: 0;
  }
  .intro_hl h2 {
    width: 71.375%;
    margin-bottom: 8.5vw;
  }
  .intro_hl .sub {
    width: 75.625%;
    margin-bottom: 8.5715vw;
  }
  .intro .txt {
    font-size: min(4.5vw, 22px);
  }
  .intro .illust._01 {
    width: min(56.25%, 450px);
    top: calc(297px + min(48vw, 384px));
    margin-right: min(22%, 176px);
  }
  .intro .illust._02 {
    display: none;
  }
}
/* ========================================

vision

======================================== */
.vision {
  position: relative;
  overflow: hidden;
  padding-top: min(95.2381%, 1000px);
  padding-bottom: 188px;
}
.vision::before {
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  position: absolute;
  top: min(23.0477%, 242px);
  right: 50%;
  margin-right: max(-40%, -420px);
  background-image: url(../img/mvv/parts_rocket.svg);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: min(261.7143vw, 2748px) auto;
  scale: -1 1;
  z-index: 2;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none;
}
.vision::after {
  width: min(33.6191%, 353px);
  aspect-ratio: 706/406;
  display: block;
  content: "";
  display: block;
  content: "";
  position: absolute;
  top: min(75.2381vw, 790px);
  left: 50%;
  margin-left: min(26.6667vw, 400px);
  background-image: url(../img/mvv/vision_illust01.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  z-index: 1;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none;
}
.vision .illust._earth {
  width: min(22.0953%, 232px);
  aspect-ratio: 1/1;
  display: block;
  position: absolute;
  top: min(18.5715%, 195px);
  right: 50%;
  background-image: url(../img/mvv/parts_illust_earth.svg);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  translate: 50% 0%;
  -webkit-filter: blur(5px);
          filter: blur(5px);
  z-index: 1;
}
.vision .illust._earth::before {
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(12%, rgba(0, 25, 156, 0)), color-stop(93%, rgb(0, 25, 156)));
  background: linear-gradient(180deg, rgba(0, 25, 156, 0) 12%, rgb(0, 25, 156) 93%);
  border-radius: 50%;
}
.vision_inner {
  position: relative;
  z-index: 2;
}
.vision_hl {
  margin-bottom: min(18.762%, 197px);
}
.vision_hl h2 {
  width: min(78.75%, 945px);
  margin: 0 auto;
  margin-bottom: min(6.1905vw, 65px);
}
.vision .balloon._zuu .balloon_cont .txt {
  width: min(50.75%, 406px);
}

@media screen and (max-width: 800px) {
  .vision {
    padding-top: min(157%, 1256px);
    padding-bottom: 41.25%;
  }
  .vision::before {
    top: min(25.875%, 207px);
    right: 0;
    margin-right: 0;
    background-size: min(343.5vw, 2748px) auto;
    background-position: -10px 0px;
  }
  .vision::after {
    display: none;
  }
  .vision .illust._earth {
    width: min(27.5001%, 220px);
    top: min(23.125%, 185px);
  }
  .vision_hl {
    margin-bottom: 27.5001vw;
  }
  .vision_hl h2 {
    width: 79.75vw;
  }
  .vision .balloon._zuu .balloon_cont .txt {
    width: min(70.25vw, 281px);
  }
}
/* ========================================

value

======================================== */
.value {
  overflow: hidden;
  position: relative;
  padding-top: 40px;
}
.value::before {
  width: 1000px;
  aspect-ratio: 1/1;
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  background: radial-gradient(circle, white 0%, rgba(255, 255, 255, 0.5) 40%, rgba(255, 255, 255, 0) 70%);
  border-radius: 50%;
  translate: -50% 0;
  z-index: -1;
  mix-blend-mode: overlay;
}
.value_inner {
  position: relative;
  z-index: 3;
}
.value_hl {
  position: relative;
  margin-bottom: min(27%, 324px);
  z-index: 1;
}
.value_hl_inner {
  position: relative;
  z-index: 2;
}
.value_hl h2 {
  width: min(83.3334%, 1000px);
  margin: 0 auto;
  margin-bottom: min(3.9167vw, 47px);
}
.value_hl .illust {
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  opacity: 0;
  -webkit-transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}
.value_hl .illust._01 {
  width: min(11.3334%, 136px);
  aspect-ratio: 272/444;
  right: 50%;
  bottom: 0;
  margin-right: min(29.5%, 354px);
  margin-bottom: max(-5.8333%, -70px);
  background-image: url(../img/mvv/value_hl_illust01.png);
  translate: 10px 30px;
}
.value_hl .illust._01.fadeIn {
  opacity: 1;
  translate: 0 0;
}
.value_hl .illust._02 {
  width: min(12.25%, 147px);
  aspect-ratio: 294/424;
  bottom: 0;
  left: 50%;
  margin-left: min(33.25%, 399px);
  margin-bottom: max(-6.0833%, -73px);
  background-image: url(../img/mvv/value_hl_illust02.png);
  translate: -10px 30px;
}
.value_hl .illust._02.fadeIn {
  opacity: 1;
  translate: 0 0;
}
.value .balloon {
  margin-bottom: 50px;
  z-index: 2;
}
.value .balloon_wrap {
  position: relative;
  padding-bottom: 385px;
}
.value .balloon_wrap::before {
  width: 100%;
  height: 1680px;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  background-image: url(../img/mvv/value_bg01.png);
  background-repeat: no-repeat;
  background-position: 50% 100%;
  background-size: 2000px auto;
  z-index: 2;
}
.value .balloon_wrap::after {
  width: 100%;
  height: 940px;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(13%, white), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(0deg, white 13%, rgba(255, 255, 255, 0) 100%);
  z-index: 1;
}
.value .balloon._zuu .balloon_cont .txt._01 {
  width: min(37.25vw, 298px);
}
.value .balloon._zuu .balloon_cont .txt._02 {
  width: min(53.75vw, 430px);
}
.value .bg {
  width: 1124px;
  display: block;
  aspect-ratio: 1/1;
  position: absolute;
  top: min(57.5vw, 690px);
  left: 50%;
  translate: -50% 0;
  z-index: 1;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.value .bg._overlay {
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.6) 63.5%, rgba(255, 255, 255, 0.4) 63.5%);
  z-index: 1;
  mix-blend-mode: overlay;
  -webkit-box-shadow: 0 0 6vw rgba(255, 255, 255, 0.5);
          box-shadow: 0 0 6vw rgba(255, 255, 255, 0.5);
  scale: 1.2171;
}
.value .bg._earth {
  background-image: url(../img/mvv/parts_illust_earth.svg);
  background-repeat: no-repeat;
  background-position: 50% 0%;
  background-size: 100% auto;
  z-index: 2;
}

@media screen and (min-width: 2000px) {
  .value .balloon_wrap::before {
    height: 84vw;
    background-size: 100% auto;
  }
}
@media screen and (min-width: 2600px) {
  .value .balloon_wrap::before {
    height: 2184px;
    background-size: 100% 100%;
  }
}
@media screen and (max-width: 800px) {
  .value {
    padding-top: 0;
  }
  .value_hl {
    margin-bottom: 62.5vw;
  }
  .value_hl h2 {
    width: 88.75vw;
    margin-bottom: 7.25vw;
  }
  .value .illust._01 {
    width: min(16.875vw, 135px);
    margin-right: min(26vw, 208px);
    margin-bottom: max(-26vw, -208px);
  }
  .value .illust._02 {
    width: min(18.125vw, 145px);
    margin-left: min(25vw, 200px);
    margin-bottom: max(-24.75vw, -198px);
  }
  .value .balloon {
    margin-bottom: 27px;
  }
  .value .balloon_wrap {
    padding-bottom: 460px;
  }
  .value .balloon_wrap::before {
    height: 670px;
    background-image: url(../img/mvv/value_bg01_sp.png);
    background-size: 800px auto;
  }
  .value .balloon_wrap::after {
    height: 510px;
    display: none;
  }
  .value .balloon._zuu .balloon_cont .txt._01 {
    width: min(61vw, 244px);
  }
  .value .balloon._zuu .balloon_cont .txt._02 {
    width: min(49.25vw, 197px);
  }
  .value .bg {
    width: 140.25vw;
    top: 91.5vw;
  }
}
/* ========================================

core

======================================== */
.core_wrap {
  position: relative;
}
.core_wrap .bg {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  clip-path: inset(0);
  z-index: -1;
  background-color: #000;
}
.core_wrap .bg::before {
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  position: fixed;
  top: 0;
  opacity: 0.9;
  background-repeat: no-repeat;
  background-position: 50% 100%;
  background-size: cover;
}
.core_wrap .bg._01::before {
  background-image: url(../img/mvv/core01_bg01.jpg);
}
.core_wrap .bg._02::before {
  background-image: url(../img/mvv/core02_bg01.jpg);
}
.core_wrap .bg._03::before {
  background-image: url(../img/mvv/core03_bg01.jpg);
}
.core_wrap .bg._04::before {
  background-image: url(../img/mvv/core04_bg01.jpg);
}
.core_wrap .bg._05::before {
  background-image: url(../img/mvv/core05_bg01.jpg);
}
.core_inner {
  position: relative;
  padding-bottom: max(26.6667vw, 400px);
}
.core_inner::before, .core_inner::after {
  width: 100%;
  height: max(50.3334vw, 755px);
  display: block;
  content: "";
  position: absolute;
  left: 0;
  background-image: url(../img/mvv/parts_frame.png);
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: auto 100%;
}
.core_inner::before {
  top: -0.5px;
}
.core_inner::after {
  bottom: -0.5px;
  scale: 1 -1;
}
.core_hl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.core_hl h2 {
  font-size: min(9.091vw, 100px);
  line-height: 1.3;
  letter-spacing: -0.06em;
  text-align: center;
}
.core .desc {
  font-size: clamp(18px, 2.1819vw, 24px);
  line-height: 1.9167;
  text-align: center;
  letter-spacing: 0.06em;
  margin-bottom: 50px;
}

@media screen and (max-width: 800px) {
  .core_hl h2 {
    font-size: clamp(32px, 10vw, 80px);
    line-height: 1.25;
  }
  .core_inner {
    padding-bottom: min(62.5vw, 500px);
  }
  .core_inner::before, .core_inner::after {
    height: unset;
    aspect-ratio: 3000/1510;
    background-size: 187.5% auto;
  }
  .core .desc {
    font-size: min(4.5vw, 36px);
    line-height: 2;
    margin-bottom: 12.5vw;
  }
}
/* ========================================

core01

======================================== */
.core01 {
  position: relative;
  z-index: 1;
}
.core01::before {
  width: 100%;
  height: 1900px;
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(255, 255, 255, 0)), color-stop(57%, white), to(white));
  background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, white 57%, white 100%);
  z-index: 1;
}
.core01::after {
  width: 100%;
  height: 1038px;
  display: block;
  content: "";
  position: absolute;
  top: 240px;
  left: 0;
  background-image: url(../img/mvv/core01_bg02.png);
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: 2600px auto;
  z-index: 2;
}
.core01 .core_inner {
  padding-top: 2000px;
  z-index: 3;
}
.core01 .core_inner::before {
  display: none;
}
.core01 .core_hl {
  margin-bottom: 105px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.core01 .core_hl h2 {
  font-size: min(8.1819vw, 90px);
  line-height: 1.3334;
  text-align: unset;
  margin-left: min(6.3637vw, 70px);
  margin-right: min(3.2728vw, 36px);
}
.core01 .core_hl .num {
  width: min(19.5455vw, 215px);
  padding-top: 15px;
}
.core01 .cmn_arrow {
  margin-bottom: 145px;
}
.core01 .balloon._zuu .balloon_cont .txt._01 {
  width: min(32.5vw, 260px);
}
.core01 .balloon._zuu .balloon_cont .txt._02 {
  width: min(70.25vw, 562px);
}

@media screen and (max-width: 800px) {
  .core01::before {
    height: 700px;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(255, 255, 255, 0)), color-stop(70%, rgba(255, 255, 255, 0.5)), color-stop(83%, white), to(white));
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 70%, white 83%, white 100%);
  }
  .core01::after {
    height: 510px;
    top: 60px;
    background-size: 1260px auto;
  }
  .core01 .core_inner {
    padding-top: min(178.75vw, 1430px);
  }
  .core01 .core_hl {
    margin-bottom: 11vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .core01 .core_hl h2 {
    font-size: clamp(32px, 10vw, 80px);
    text-align: center;
    margin: 0;
  }
  .core01 .core_hl .num {
    width: min(53.75vw, 430px);
    margin-bottom: 3.25vw;
    padding-top: 0;
  }
  .core01 .cmn_arrow {
    margin-bottom: 26.5vw;
  }
  .core01 .balloon._zuu .balloon_cont .txt._01 {
    width: min(53vw, 212px);
  }
  .core01 .balloon._zuu .balloon_cont .txt._02 {
    width: min(64.5vw, 258px);
  }
}
/* ========================================

core02

======================================== */
.core02 {
  position: relative;
  z-index: 1;
}
.core02 .core_inner {
  padding-top: max(20vw, 300px);
}
.core02 .core_hl {
  margin-bottom: 105px;
}
.core02 .core_hl h2 {
  margin-top: -40px;
}
.core02 .core_hl .num {
  width: min(66.4546vw, 731px);
}
.core02 .cmn_arrow {
  margin-bottom: 150px;
}
.core02 .balloon._zuu .balloon_cont .txt._01 {
  width: min(35.25vw, 282px);
}
.core02 .balloon._zuu .balloon_cont .txt._02 {
  width: min(63.75vw, 510px);
}

@media screen and (max-width: 800px) {
  .core02 .core_inner {
    padding-top: 59vw;
  }
  .core02 .core_hl {
    margin-bottom: 13.25vw;
  }
  .core02 .core_hl h2 {
    font-size: clamp(40px, 12.5vw, 100px);
    margin-top: 0;
  }
  .core02 .core_hl .num {
    width: min(81vw, 324px);
    margin-bottom: 3vw;
  }
  .core02 .cmn_arrow {
    margin-bottom: 25vw;
  }
  .core02 .balloon._zuu .balloon_cont .txt._01 {
    width: min(57.5vw, 230px);
  }
  .core02 .balloon._zuu .balloon_cont .txt._02 {
    width: min(63.25vw, 253px);
  }
}
/* ========================================

core03

======================================== */
.core03 .core_inner {
  padding-top: max(27.3334vw, 410px);
}
.core03 .core_hl {
  margin-bottom: 107px;
}
.core03 .core_hl h2 {
  margin-top: -15px;
}
.core03 .core_hl h2 span {
  display: block;
}
.core03 .core_hl h2 span.l01 {
  margin-left: -2em;
}
.core03 .core_hl h2 span.l02 {
  margin-left: 3.7em;
}
.core03 .core_hl .num {
  width: min(58.5455vw, 644px);
  margin-left: max(17.2vw, 258px);
}
.core03 .cmn_arrow {
  margin-bottom: 145px;
}
.core03 .balloon._zuu .balloon_cont .txt._01 {
  width: min(26.625vw, 213px);
}
.core03 .balloon._zuu .balloon_cont .txt._02 {
  width: min(43vw, 344px);
}

@media screen and (max-width: 800px) {
  .core03 .core_inner {
    padding-top: 63.75vw;
  }
  .core03 .core_hl {
    margin-bottom: 20.5vw;
  }
  .core03 .core_hl h2 {
    margin: 0;
  }
  .core03 .core_hl h2 span.l02 {
    margin-left: 2.7em;
  }
  .core03 .core_hl .num {
    width: min(81vw, 648px);
    margin: 0 0 4vw;
  }
  .core03 .cmn_arrow {
    margin-bottom: 15.5vw;
  }
  .core03 .balloon._zuu .balloon_cont .txt._01 {
    width: min(43.25vw, 173px);
  }
  .core03 .balloon._zuu .balloon_cont .txt._02 {
    width: min(51.75vw, 207px);
  }
}
/* ========================================

core04

======================================== */
.core04 .core_inner {
  padding-top: max(28.0001vw, 420px);
}
.core04 .core_hl {
  margin-bottom: 120px;
}
.core04 .core_hl h2 {
  margin-top: 15px;
}
.core04 .core_hl .num {
  width: min(58.5455vw, 644px);
}
.core04 .cmn_arrow {
  margin-bottom: 160px;
}
.core04 .balloon._zuu .balloon_cont .txt._01 {
  width: min(33.375vw, 267px);
}
.core04 .balloon._zuu .balloon_cont .txt._02 {
  width: min(70.25vw, 562px);
}

@media screen and (max-width: 800px) {
  .core04 .core_inner {
    padding-top: 66.75vw;
  }
  .core04 .core_hl {
    margin-bottom: 13.7501vw;
  }
  .core04 .core_hl h2 {
    font-size: 12vw;
    line-height: 1.25;
  }
  .core04 .core_hl .num {
    width: min(77.5vw, 620px);
    margin-bottom: 0.25vw;
  }
  .core04 .cmn_arrow {
    margin-bottom: 16vw;
  }
  .core04 .balloon._zuu .balloon_cont .txt._01 {
    width: min(54.5001vw, 218px);
  }
  .core04 .balloon._zuu .balloon_cont .txt._02 {
    width: min(71.5vw, 286px);
  }
}
/* ========================================

core05

======================================== */
.core05 .core_inner {
  padding-top: max(28.0001vw, 420px);
}
.core05 .core_hl {
  margin-bottom: 110px;
}
.core05 .core_hl h2 {
  margin-top: 15px;
}
.core05 .core_hl .num {
  width: min(58.5455vw, 644px);
}
.core05 .cmn_arrow {
  margin-bottom: 160px;
}
.core05 .balloon._zuu .balloon_cont .txt._01 {
  width: min(43vw, 344px);
}
.core05 .balloon._zuu .balloon_cont .txt._02 {
  width: min(63.75vw, 510px);
}

@media screen and (max-width: 800px) {
  .core05 .core_inner {
    padding-top: 66vw;
  }
  .core05 .core_hl {
    margin-bottom: 13vw;
  }
  .core05 .core_hl .num {
    width: min(78.25vw, 626px);
  }
  .core05 .cmn_arrow {
    margin-bottom: 15.5vw;
  }
  .core05 .balloon._zuu .balloon_cont .txt._01 {
    width: min(70.25vw, 281px);
  }
  .core05 .balloon._zuu .balloon_cont .txt._02 {
    width: min(71.5vw, 286px);
  }
}
/* ========================================

outro

======================================== */
.outro_inner {
  position: relative;
  padding-top: max(46.6667vw, 700px);
}
.outro_inner::before {
  width: 100%;
  height: max(50.3334vw, 755px);
  display: block;
  content: "";
  position: absolute;
  left: 0;
  background-image: url(../img/mvv/parts_frame.png);
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: auto 100%;
}
.outro_inner::before {
  top: -0.5px;
}
.outro .illust {
  display: block;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.outro .illust._earth {
  width: 524px;
  aspect-ratio: 1/1;
  position: relative;
  margin: 0 auto 220px;
}
.outro .illust._earth span {
  width: 100%;
  height: 100%;
  display: block;
  background-image: url(../img/mvv/parts_illust_earth.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
  -webkit-filter: blur(3px);
          filter: blur(3px);
}
.outro .illust._earth::before {
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.8) 63.5%, rgba(255, 255, 255, 0.6) 63.5%);
  border-radius: 50%;
  mix-blend-mode: overlay;
  -webkit-box-shadow: 0 0 15vw rgba(255, 255, 255, 0.8);
          box-shadow: 0 0 15vw rgba(255, 255, 255, 0.8);
  scale: 1.2176;
  z-index: -1;
}
.outro .illust._01 {
  width: min(37.9048%, 398px);
  aspect-ratio: 798/330;
  display: block;
  position: absolute;
  right: 50%;
  bottom: min(34.9524%, 367px);
  margin-right: min(27.2667%, 409px);
}
.outro .illust._01::before {
  width: 100%;
  height: 100%;
  display: block;
  content: "";
  position: relative;
  background-image: url(../img/mvv/outro_illust03.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  z-index: 2;
}
.outro .illust._01::after {
  width: min(61.6848%, 227px);
  aspect-ratio: 1/1;
  display: block;
  content: "";
  position: absolute;
  top: 51%;
  left: 48.5%;
  background: linear-gradient(-135deg, white 0%, rgba(255, 255, 255, 0) 75%, rgba(255, 255, 255, 0) 100%);
  mix-blend-mode: overlay;
  border-radius: 50%;
  translate: -50% -50%;
  z-index: 1;
}
.outro .balloon_wrap {
  margin-bottom: 310px;
}
.outro .balloon._zuu .balloon_cont .txt._01 {
  width: min(73.625vw, 589px);
}
.outro_cont {
  overflow: hidden;
  position: relative;
  padding-bottom: 330px;
}
.outro_cont h2 {
  width: min(94.5715vw, 993px);
  margin: 0 auto 250px;
  margin-bottom: 14px;
}
.outro_cont_vision {
  position: relative;
  margin-bottom: 20px;
  z-index: 11;
}
.outro_cont_vision.fadeIn::before, .outro_cont_vision.fadeIn::after {
  opacity: 1;
  translate: 0 0;
}
.outro_cont_vision::before {
  width: min(18.75%, 225px);
  aspect-ratio: 450/522;
  content: "";
  display: block;
  margin-left: calc(50% + min(30.0834%, 361px));
  margin-bottom: -13px;
  background-image: url(../img/mvv/outro_illust01.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  opacity: 0;
  translate: 30px 30px;
  -webkit-transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}
.outro_cont_vision::after {
  width: min(14.0834%, 169px);
  aspect-ratio: 338/454;
  content: "";
  display: block;
  margin-left: calc(50% - min(50.8334%, 610px));
  margin-top: 20px;
  background-image: url(../img/mvv/outro_illust02.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  opacity: 0;
  translate: -30px 30px;
  -webkit-transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}
.outro_cont_vision h3 {
  width: min(21.1429vw, 222px);
  margin: 0 auto 46px;
}
.outro_cont_vision .txt {
  width: min(49.7143vw, 522px);
  margin: 0 auto;
}
.outro_cont_value {
  margin-bottom: 278px;
}
.outro_cont_value h3 {
  width: min(20.2858vw, 213px);
  margin: 0 auto 46px;
}
.outro_cont_value .txt {
  width: min(36vw, 378px);
  margin: 0 auto;
}
.outro_cont_core h3 {
  width: min(47.6191vw, 500px);
  margin: 0 auto 46px;
}
.outro_cont_core .txt {
  width: min(40vw, 420px);
  margin: 0 auto;
}

@media screen and (max-width: 800px) {
  .outro_inner {
    padding-top: 87.5vw;
  }
  .outro_inner::before {
    height: unset;
    aspect-ratio: 3000/1510;
    background-size: 187.5% auto;
  }
  .outro .illust {
    display: block;
  }
  .outro .illust._earth {
    width: 65.5vw;
    margin-bottom: 35vw;
  }
  .outro .illust._01 {
    width: 49.75%;
    bottom: 523px;
    margin-right: 24.75vw;
  }
  .outro .illust._01::after {
    width: 57.2865%;
  }
  .outro .balloon_wrap {
    margin-bottom: 58vw;
  }
  .outro .balloon._zuu .balloon_cont .txt._01 {
    width: min(69.5vw, 278px);
  }
  .outro_cont {
    padding-bottom: 49.5vw;
  }
  .outro_cont h2 {
    width: 100vw;
    margin-bottom: 0;
  }
  .outro_cont_vision {
    margin-bottom: 38.5vw;
  }
  .outro_cont_vision::before {
    width: 26.25%;
    aspect-ratio: 210/270;
    margin: -45px 0 68% auto;
    background-size: auto 100%;
  }
  .outro_cont_vision::after {
    width: 21%;
    margin: 0;
    position: absolute;
    top: 148px;
    left: 0;
  }
  .outro_cont_vision h3 {
    width: 33vw;
    margin-bottom: 8vw;
  }
  .outro_cont_vision .txt {
    width: 50.5vw;
    margin: 0 auto;
  }
  .outro_cont_value {
    margin-bottom: 42vw;
  }
  .outro_cont_value h3 {
    width: 30vw;
    margin-bottom: 8vw;
  }
  .outro_cont_value .txt {
    width: 62.5vw;
    margin: 0 auto;
  }
  .outro_cont_core h3 {
    width: 72vw;
    margin-bottom: 8.5vw;
  }
  .outro_cont_core .txt {
    width: 66.25vw;
    margin: 0 auto;
  }
}
/*# sourceMappingURL=mvv.css.map */