#content-container {
  overflow: hidden;
}

.cmn-ttl01 {
  font-size: 37px;
  font-weight: 700;
  margin-bottom: 40px;
}

.cmn-btn-wrap {
  display: flex;
  justify-content: center;
}

.sec01__movie {
  margin-top: 80px;
}

.sec01__dec {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  margin: 90px 0 70px;
  padding: 20px 0 0;
}

.tokyo__share {
  padding-top: 90px;
}

.js-fadeup {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 1.5s, transform 1.5s;
}

.js-fadeup.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.modaal-video-wrap {
  max-width: 1300px;
  margin: auto !important;
}

.cmn-inner {
  max-width: 1110px;
  margin: 0 auto;
}

.hanasaka__ttl {
  text-align: center;
  color: #ff1493;
  margin-bottom: 15px;
}

.hanasaka__ttl .is-en {
  display: block;
  font-size: 18px;
  line-height: 1.39;
  margin-bottom: 21px;
}

.hanasaka__ttl .is-main {
  display: block;
  font-size: 50px;
  line-height: 0.84;
  letter-spacing: 0.06em;
  margin-bottom: 30px;
}

.hanasaka__lead {
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1.08px;
  text-align: center;
  font-weight: 600;
  margin-bottom: 134px;
}

.hanasaka__btn {
  position: relative;
  z-index: 10;
  opacity: 1;
  transition: opacity .3s;
  max-width: 100%;
}

.hanasaka__btn:hover {
  opacity: 0.7;
}

.hanasaka__btn img {
  max-width: 100%;
}

.mv {
  position: relative;
  height: 658px;
  overflow: hidden;
}

.mv__loading {
  background: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 10000;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
}

.mv__loader {
  margin: 100px auto;
  font-size: 12px;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  position: relative;
  text-indent: -9999em;
  -webkit-animation: load5 1.1s infinite ease;
  animation: load5 1.1s infinite ease;
  transform: translateZ(0);
}

.mv__video {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 0;
  padding-top: 658px;
}

.mv__video iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  width: 150vh;
  height: 120vw;
  min-height: 100%;
  min-width: 100%;
}

.mv__box {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: #fff;
  box-sizing: border-box;
  padding: 60px 0 0;
  background: url(/global/about/hanasaka/img/mv_bg.png)no-repeat top -21px left 48% /auto, #fff;
}

.mv__box-inner {
  opacity: 0;
  transition: opacity 1s ease .5s;
}

.mv__box.is-show .mv__box-inner {
  opacity: 1;
}

.mv__txt {
  color: #ff1493;
  font-size: 44px;
  line-height: 1.59;
  letter-spacing: 2.64px;
  font-weight: bold;
  margin: 81px 0 33px;
}

.mv__scrolldown {
  position: relative;
  color: #ff1493;
  font-size: 10px;
}

.mv__scrolldown::after {
  content: "";
  /*描画位置*/
  position: absolute;
  top: 20px;
  /*線の形状*/
  left: 50%;
  width: 1px;
  height: 60px;
  background: #ff1493;
  /*線の動き1.4秒かけて動く。永遠にループ*/
  animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}



.tokyo .hanasaka__ttl .is-en {
  margin-bottom: 14px;
}

.tokyo .hanasaka__ttl .is-main {
  margin-bottom: 19px;
  font-size: 50px;
}

.tokyo .hanasaka__ttl {
  margin-bottom: 25px;
}

.tokyo.box-section-01 {
  padding-bottom: 0;
}

.tokyo__main {
  padding: 8.5% 0;
  background-image: url(/global/about/hanasaka/img/tokyo_img01.jpg);
  background-size: cover;
  background-position: center bottom;
  background-repeat: no-repeat;
}

.tokyo__info {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}

.tokyo .hanasaka__lead {
  margin-bottom: 4.11%;
  color: #FFF;
}

.tokyo__desc {
  margin-bottom: 6%;
  color: #FFF;
  font-size: 18px;
  font-weight: 300;
  line-height: calc(42/18);
}

.tokyo__btn {
  position: relative;
  padding: 25px 78px 21px;
  background: #FFF;
  border: 4px solid #F0047F;
  color: #F0047F;
  font-size: 26px;
  font-weight: 600;
  line-height: calc(70/26);
  letter-spacing: 0.06em;
  transition: all .3s;
}

.tokyo__btn::before {
  display: inline-block;
  content: '';
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 9.3px;
  height: 22.51px;
  background-image: url(/global/about/hanasaka/img/tokyo_btn.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.tokyo__btn:hover {
  text-decoration: none;
  opacity: .8;
}

.tokyo__btn:visited {
  color: #F0047F;
}

@media screen and (min-width: 1000px) {
  .activities__box-wrap.is-wrap2 {
    justify-content: flex-start !important;
  }

  .activities__box.is-empty {
    max-width: 255px;
    width: 24%;
    margin: 0 30px 0 0 !important;
  }
}

@media screen and (min-width: 661px) {
  .hanasaka__btn {
    transition: opacity .3s ease;
  }

  .hanasaka__btn:hover {
    opacity: .7;
  }

  .activities__column .block-link:hover {
    text-decoration: none;
  }
}

@media screen and (max-width: 660px) {
  .cmn-ttl01 {
    font-size: 24px;
  }

  .hanasaka__ttl {
    text-align: left;
    margin-bottom: 15px;
  }

  .sec01__dec {
    margin: 45px 0 35px;
  }

  .sec01__movie {
    margin-top: 40px;
  }

  .hanasaka__lead {
    text-align: left;
    padding: 0 5%;
  }

  .hanasaka__ttl .is-en {
    font-size: 16px;
    margin-bottom: 7px;
  }

  .hanasaka__ttl .is-main {
    font-size: 37.2px;
    letter-spacing: 0;
    line-height: 1.2;
    margin-bottom: 26px;
  }

  html[lang="ja"] .box-section-01>p.hanasaka__lead {
    font-size: 17px !important;
    text-align: left;
    padding: 0 5%;
    margin-bottom: 144px;
  }

  html[lang="ja"] .square>p.hanasaka__lead {
    margin-bottom: 75px;
  }

  .mv {
    height: calc(100vh - 130px);
    position: relative;
    z-index: +1;
  }

  .mv__video {
    padding-top: calc(100vh - 130px);
  }

  .mv__video iframe {
    height: 130vh;
  }

  .mv__box {
    padding: 12% 0 0;
    background: url(/global/about/hanasaka/img/mv_bg.png)no-repeat top -5px left 48% /150%, #fff;
  }

  .mv__ttl {
    max-width: 80%;
    margin: 0 auto;
  }

  .mv__txt {
    margin: 10% 0 7%;
    font-size: 31px;
    letter-spacing: 0;
    text-indent: -1.1rem;
    padding-left: 1.1rem;
  }

  .mv__txt .ls-m {
    letter-spacing: 0;
  }

  .more_btn {
    margin-bottom: 7%;
  }

  .sp-hidden {
    display: none;
  }

  .sp-show {
    display: block;
  }

  .tokyo__main {
    background-position: bottom 0 right 17%;
    padding: 25% 0 15%;
  }

  .tokyo__desc {
    font-size: 16px;
    margin-bottom: 12%;
  }

  .tokyo__btn {
    font-size: 20px;
    padding: 5% 10%;
    max-width: 292px;
  }

  .tokyo__sub {
    display: block;
  }

  .tokyo__sub-img {
    width: 100%;
  }

  .intro__ttl {
    font-size: clamp(22px, 6vw, 38px);
  }

  .cmn-txt-01 {
    font-size: clamp(12px, 4vw, 16px);
  }

  .base {
    padding: 150px 5% 77px;
  }

  .base .hanasaka__ttl {
    max-width: 95%;
    margin: 0 auto 15px;
  }
}

@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }

  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }

  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }

  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

@keyframes load5 {

  0%,
  100% {
    box-shadow: 0em -2.6em 0em 0em #FF1493, 1.8em -1.8em 0 0em rgba(255, 20, 147, 0.2), 2.5em 0em 0 0em rgba(255, 20, 147, 0.2), 1.75em 1.75em 0 0em rgba(255, 20, 147, 0.2), 0em 2.5em 0 0em rgba(255, 20, 147, 0.2), -1.8em 1.8em 0 0em rgba(255, 20, 147, 0.2), -2.6em 0em 0 0em rgba(255, 20, 147, 0.5), -1.8em -1.8em 0 0em rgba(255, 20, 147, 0.7);
  }

  12.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 20, 147, 0.7), 1.8em -1.8em 0 0em #FF1493, 2.5em 0em 0 0em rgba(255, 20, 147, 0.2), 1.75em 1.75em 0 0em rgba(255, 20, 147, 0.2), 0em 2.5em 0 0em rgba(255, 20, 147, 0.2), -1.8em 1.8em 0 0em rgba(255, 20, 147, 0.2), -2.6em 0em 0 0em rgba(255, 20, 147, 0.2), -1.8em -1.8em 0 0em rgba(255, 20, 147, 0.5);
  }

  25% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 20, 147, 0.5), 1.8em -1.8em 0 0em rgba(255, 20, 147, 0.7), 2.5em 0em 0 0em #FF1493, 1.75em 1.75em 0 0em rgba(255, 20, 147, 0.2), 0em 2.5em 0 0em rgba(255, 20, 147, 0.2), -1.8em 1.8em 0 0em rgba(255, 20, 147, 0.2), -2.6em 0em 0 0em rgba(255, 20, 147, 0.2), -1.8em -1.8em 0 0em rgba(255, 20, 147, 0.2);
  }

  37.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 20, 147, 0.2), 1.8em -1.8em 0 0em rgba(255, 20, 147, 0.5), 2.5em 0em 0 0em rgba(255, 20, 147, 0.7), 1.75em 1.75em 0 0em #FF1493, 0em 2.5em 0 0em rgba(255, 20, 147, 0.2), -1.8em 1.8em 0 0em rgba(255, 20, 147, 0.2), -2.6em 0em 0 0em rgba(255, 20, 147, 0.2), -1.8em -1.8em 0 0em rgba(255, 20, 147, 0.2);
  }

  50% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 20, 147, 0.2), 1.8em -1.8em 0 0em rgba(255, 20, 147, 0.2), 2.5em 0em 0 0em rgba(255, 20, 147, 0.5), 1.75em 1.75em 0 0em rgba(255, 20, 147, 0.7), 0em 2.5em 0 0em #FF1493, -1.8em 1.8em 0 0em rgba(255, 20, 147, 0.2), -2.6em 0em 0 0em rgba(255, 20, 147, 0.2), -1.8em -1.8em 0 0em rgba(255, 20, 147, 0.2);
  }

  62.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 20, 147, 0.2), 1.8em -1.8em 0 0em rgba(255, 20, 147, 0.2), 2.5em 0em 0 0em rgba(255, 20, 147, 0.2), 1.75em 1.75em 0 0em rgba(255, 20, 147, 0.5), 0em 2.5em 0 0em rgba(255, 20, 147, 0.7), -1.8em 1.8em 0 0em #FF1493, -2.6em 0em 0 0em rgba(255, 20, 147, 0.2), -1.8em -1.8em 0 0em rgba(255, 20, 147, 0.2);
  }

  75% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 20, 147, 0.2), 1.8em -1.8em 0 0em rgba(255, 20, 147, 0.2), 2.5em 0em 0 0em rgba(255, 20, 147, 0.2), 1.75em 1.75em 0 0em rgba(255, 20, 147, 0.2), 0em 2.5em 0 0em rgba(255, 20, 147, 0.5), -1.8em 1.8em 0 0em rgba(255, 20, 147, 0.7), -2.6em 0em 0 0em #FF1493, -1.8em -1.8em 0 0em rgba(255, 20, 147, 0.2);
  }

  87.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 20, 147, 0.2), 1.8em -1.8em 0 0em rgba(255, 20, 147, 0.2), 2.5em 0em 0 0em rgba(255, 20, 147, 0.2), 1.75em 1.75em 0 0em rgba(255, 20, 147, 0.2), 0em 2.5em 0 0em rgba(255, 20, 147, 0.2), -1.8em 1.8em 0 0em rgba(255, 20, 147, 0.5), -2.6em 0em 0 0em rgba(255, 20, 147, 0.7), -1.8em -1.8em 0 0em #FF1493;
  }
}