@charset "UTF-8";
/*----------------------------------------------------
  変数定義
----------------------------------------------------*/
/*----------------------------------------------------
  basic
----------------------------------------------------*/
/*@media (min-width: 960px) {
}*/
/*@media only screen and (max-width: 768px) {
}*/
/*----------------------------------------------------
  opening
----------------------------------------------------*/
.opening {
  width: 100%;
  background: #010101;
  color: #FFF;
  border-bottom: 1px solid #FFF;
}
.opening__contents .kv-wrap {
  display: flex;
  flex-wrap: wrap;
  margin-top: 76.5px;
}
@media screen and (max-width: 768px) {
  .opening__contents .kv-wrap {
    display: block;
    margin-top: 0;
  }
}
.opening__contents .kv-wrap__left {
  width: 40%;
}
@media screen and (max-width: 768px) {
  .opening__contents .kv-wrap__left {
    position: relative;
    width: 100%;
  }
}
.opening__contents .kv-wrap__left img {
  width: 100%;
}
.opening__contents .kv-wrap__right {
  width: 60%;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .opening__contents .kv-wrap__right {
    width: 100%;
  }
}
.opening__contents .kv-wrap__right .right-inner {
  width: 100%;
  max-width: 650px;
}
@media screen and (max-width: 768px) {
  .opening__contents .kv-wrap__right .right-inner {
    padding: 30px 20px;
  }
}
.opening__contents .kv-wrap__right .right-inner__catch {
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .opening__contents .kv-wrap__right .right-inner__catch {
    margin-bottom: 20px;
  }
}
.opening__contents .kv-wrap__right .right-inner__catch img {
  width: 80%;
  display: inline-block;
}
.opening__contents .kv-wrap__right .right-inner__open {
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .opening__contents .kv-wrap__right .right-inner__open {
    margin-bottom: 20px;
  }
}
.opening__contents .kv-wrap__right .right-inner__open img {
  width: 100%;
  display: inline-block;
}
.opening__contents .kv-wrap__right .right-inner__btn {
  text-align: center;
}
.opening__contents .kv-wrap__right .right-inner__btn a {
  position: relative;
  display: inline-block;
  font-size: 15px;
  font-weight: bold;
  font-style: italic;
  letter-spacing: 0.1rem;
  padding: 10px 15px 10px 40px;
  color: #d11800;
  background: #fff;
  border: 3px solid #d11800;
  transform: skewX(-15deg);
}
@media screen and (max-width: 768px) {
  .opening__contents .kv-wrap__right .right-inner__btn a {
    font-size: 12px;
  }
}
.opening__contents .kv-wrap__right .right-inner__btn a:not(:last-child) {
  margin-bottom: 30px;
}
.opening__contents .kv-wrap__right .right-inner__btn a:before {
  font-style: normal;
  position: absolute;
  top: 50%;
  left: -1px;
  width: 30px;
  height: 101%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  content: "\f061";
  transition: all 0.3s cubic-bezier(0.77, 0.2, 0.05, 1);
  transform: translateX(0) translateY(-50%);
  border-radius: 0 50% 50% 0;
  background: #d11800;
}
.opening__contents .kv-wrap__right .right-inner__btn a:hover:before {
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  line-height: 30px;
  width: 30px;
  height: 30px;
  content: "\f061";
  transform: translateX(0%) translateY(-50%) skewX(15deg);
  color: #fff;
  border-radius: 50%;
  left: 97%;
}
.opening__contents .kv-wrap__right .right-inner__btn a .btn-txt {
  display: inline-block;
  transform: skewX(15deg);
}
.opening__contents .kv-wrap__right .right-inner__btn a .btn-txt__strong {
  display: inline-block;
  font-size: 18px;
  font-style: italic;
}
@media screen and (max-width: 768px) {
  .opening__contents .kv-wrap__right .right-inner__btn a .btn-txt__strong {
    font-size: 12px;
  }
}

@media only screen and (max-width: 768px) {
  .opening {
    width: 100%;
  }
  .opening__contents__ttl img {
    width: 86%;
  }
  .opening__contents__img img {
    width: 80%;
  }
  .opening__contents__cap {
    font-size: 18px;
  }
  .opening__contents__team .team {
    min-width: 330px;
    display: inline-block;
    padding: 10px;
    color: #010101;
    background: #fff;
    border: 3px solid #010101;
    transition: 0.5s;
    text-align: center;
    border-radius: 60px;
  }
  .opening__contents__team .team__txt {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.1rem;
    line-height: 1.5;
  }
  .opening__contents__team .team__txt .color {
    color: #010101;
    font-size: 16px;
    transition: 0.5s;
  }
  .opening__contents__team .team__txt .tag {
    color: #fff;
    background: #010101;
    padding: 5px;
    text-align: center;
  }
  .opening__contents__team .team:hover {
    background: #010101;
    color: #fff;
  }
  .opening__contents__team .team:hover .team__txt span {
    color: #fff;
  }
}
/*----------------------------------------------------
  page-nav
----------------------------------------------------*/
.page-nav {
  border-top: 1px solid #FFF;
  border-bottom: 1px solid #FFF;
}
.page-nav__list {
  display: flex;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  border-right: 1px solid #FFF;
  border-left: 1px solid #FFF;
}
@media screen and (max-width: 768px) {
  .page-nav__list {
    border-right: none;
    border-left: none;
  }
}
.page-nav__list li {
  width: 25%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.page-nav__list li:not(:last-child) {
  border-right: 1px solid #FFF;
}
.page-nav__list li a {
  font-family: "Teko", sans-serif;
  font-weight: 600;
  letter-spacing: 0.075rem;
  padding: 15px;
  font-size: 18px;
  color: #FFF;
  width: 100%;
  display: block;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page-nav__list li a {
    font-size: 13px;
    padding: 10px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
  }
}
.page-nav__list li a.coming {
  pointer-events: none;
}
.page-nav__list li a.coming:hover:before {
  display: none !important;
}
.page-nav__list li a:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: "";
  background: #009CD1;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.3s cubic-bezier(0.77, 0.2, 0.05, 1);
}
.page-nav__list li a:hover:before {
  transform-origin: left top;
  transform: scale(1, 1);
}
.page-nav__list .list-item {
  position: relative;
}
.page-nav__list .list-item__over {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1;
}
.page-nav__list .list-item__over .over-txt {
  font-family: "Teko", sans-serif;
  font-weight: 600;
  letter-spacing: 0.075rem;
  font-size: 18px;
}

.custom-br {
  display: none;
}
@media (min-width: 324px) and (max-width: 396px) {
  .custom-br {
    display: block;
  }
}

/*----------------------------------------------------
  intro
----------------------------------------------------*/
.intro__bg {
  position: relative;
  color: #fff;
  padding: 0 6.777vw 120px 6.777vw;
}
@media screen and (max-width: 768px) {
  .intro__bg {
    padding: 0 20px 60px 20px;
  }
}
.intro__contents {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
.intro__contents .wrap {
  display: flex;
  align-items: center;
  max-width: 1280px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .intro__contents .wrap {
    display: block;
    margin: 0 auto;
  }
}
.intro__contents .wrap__right {
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .intro__contents .wrap__right {
    width: 100%;
  }
}
.intro__contents .wrap__right .heading {
  display: inline-block;
  position: relative;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .intro__contents .wrap__right .heading {
    margin-bottom: 30px;
  }
}
.intro__contents .wrap__right .heading .txt-en {
  font-family: "Teko", sans-serif;
  font-weight: 600;
  letter-spacing: 0.075rem;
  font-size: 96px;
  transition: 0.4s;
}
@media (min-width: 769px) and (max-width: 1499px) {
  .intro__contents .wrap__right .heading .txt-en {
    font-size: 96px;
    font-size: 6.4vw !important;
  }
}
@media screen and (max-width: 768px) {
  .intro__contents .wrap__right .heading .txt-en {
    font-size: 45px;
  }
}
.intro__contents .wrap__right .sub-heading {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.1rem;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .intro__contents .wrap__right .sub-heading {
    font-size: 21px;
    margin-bottom: 30px;
  }
}
.intro__contents .wrap__right .lead-txt {
  line-height: 2.1;
  font-weight: 700;
}
.intro__contents .wrap__right .lead-txt:not(:last-of-type) {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .intro__contents .wrap__right .lead-txt {
    text-align: left;
  }
}

/*----------------------------------------------------
  grandprix
----------------------------------------------------*/
.grandprix__bg {
  padding: 0 6.777vw 120px 6.777vw;
}
@media screen and (max-width: 768px) {
  .grandprix__bg {
    padding: 0 20px 60px 20px;
  }
}
.grandprix__contents {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
.grandprix__contents .wrap {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 1280px;
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .grandprix__contents .wrap {
    display: block;
    margin-bottom: 30px;
  }
}
.grandprix__contents .wrap__left {
  border-top: 1px solid #FFF;
  border-bottom: 1px solid #FFF;
  border-right: 1px solid #FFF;
  width: 50%;
  padding: 30px 20px;
  text-align: center;
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .grandprix__contents .wrap__left {
    width: 100%;
    border-right: none;
  }
}
.grandprix__contents .wrap__left .logo img {
  width: 100%;
  max-width: 360px;
  display: block;
  margin: 0 auto 30px;
}
@media screen and (max-width: 768px) {
  .grandprix__contents .wrap__left .logo img {
    max-width: 240px;
  }
}
.grandprix__contents .wrap__left .detail {
  display: block;
  width: 100%;
  margin: 0 auto;
  position: relative;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.1rem;
  margin-bottom: 10px;
  transition: 0.3s;
  color: #010101;
  background: #FFF;
  padding: 20px 15px 20px 30px;
  transform: skewX(-15deg);
  transform-style: preserve-3d;
  border-radius: 0;
}
@media screen and (max-width: 768px) {
  .grandprix__contents .wrap__left .detail {
    font-size: 14px;
  }
}
.grandprix__contents .wrap__left .detail:before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 30px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  content: "\f061";
  transition: all 0.3s cubic-bezier(0.77, 0.2, 0.05, 1);
  transform: translateX(0) translateY(-50%);
  border-radius: 0 50% 50% 0;
  background: #009CD1;
}
.grandprix__contents .wrap__left .detail:hover:before {
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  line-height: 30px;
  width: 30px;
  height: 30px;
  content: "\f061";
  transform: translateX(0%) translateY(-50%) skewX(15deg);
  color: #fff;
  border-radius: 50%;
  left: 97%;
}
.grandprix__contents .wrap__left .detail span {
  position: relative;
  display: inline-block;
  transform: skewX(15deg);
}
.grandprix__contents .wrap__left .cap {
  font-size: 13px;
}
.grandprix__contents .wrap__right {
  border-top: 1px solid #FFF;
  border-bottom: 1px solid #FFF;
  width: 50%;
  padding: 30px 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .grandprix__contents .wrap__right {
    width: 100%;
  }
}
.grandprix__contents .wrap__right .logo img {
  width: 100%;
  max-width: 460px;
  display: block;
  margin: 0 auto 30px;
}
.grandprix__contents .wrap__right .detail {
  display: block;
  width: 100%;
  margin: 0 auto;
  position: relative;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.1rem;
  margin-bottom: 10px;
  transition: 0.3s;
  color: #010101;
  background: #FFF;
  padding: 20px 15px 20px 30px;
  transform: skewX(-15deg);
  transform-style: preserve-3d;
  border-radius: 0;
}
@media screen and (max-width: 768px) {
  .grandprix__contents .wrap__right .detail {
    font-size: 14px;
  }
}
.grandprix__contents .wrap__right .detail:before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 30px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  content: "\f061";
  transition: all 0.3s cubic-bezier(0.77, 0.2, 0.05, 1);
  transform: translateX(0) translateY(-50%);
  border-radius: 0 50% 50% 0;
  background: #009CD1;
}
.grandprix__contents .wrap__right .detail:hover:before {
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  line-height: 30px;
  width: 30px;
  height: 30px;
  content: "\f061";
  transform: translateX(0%) translateY(-50%) skewX(15deg);
  color: #fff;
  border-radius: 50%;
  left: 97%;
}
.grandprix__contents .wrap__right .detail span {
  position: relative;
  display: inline-block;
  transform: skewX(15deg);
}
.grandprix__contents .wrap__right .cap {
  font-size: 13px;
}
.grandprix__contents .parallelo {
  display: flex;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .grandprix__contents .parallelo {
    display: block;
  }
}
.grandprix__contents .parallelo__button {
  width: calc(50% - 20px);
  display: block;
  transform: skewX(-15deg);
  background: #009CD1;
  color: #010101;
  padding: 3% 5%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .grandprix__contents .parallelo__button {
    width: 100%;
    padding: 10px;
  }
}
.grandprix__contents .parallelo__button:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: "";
  background: #FFF;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.3s cubic-bezier(0.77, 0.2, 0.05, 1);
}
.grandprix__contents .parallelo__button:not(:last-child) {
  margin-right: 40px;
}
@media screen and (max-width: 768px) {
  .grandprix__contents .parallelo__button:not(:last-child) {
    margin-right: 0;
    margin-bottom: 20px;
  }
}
.grandprix__contents .parallelo__button .txt-en {
  font-family: "Teko", sans-serif;
  font-weight: 600;
  letter-spacing: 0.075rem;
  transform: skewX(15deg);
  font-size: 42px;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .grandprix__contents .parallelo__button .txt-en {
    font-size: 21px;
  }
}
.grandprix__contents .parallelo__button .arrow {
  position: absolute;
  top: 50%;
  right: 10%;
  transform: translateY(-50%) skewX(15deg);
  display: inline-block;
  width: 20px;
  height: 30px;
  background: url(../img/top/parallelo-arrow.svg) no-repeat center;
  background-size: contain;
  transition: 0.3s cubic-bezier(0.77, 0.2, 0.05, 1);
  transition-delay: 0.2s;
}
@media screen and (max-width: 768px) {
  .grandprix__contents .parallelo__button .arrow {
    width: 10px;
    height: 15px;
    right: 7%;
  }
}
.grandprix__contents .parallelo__button:hover:after {
  transform-origin: left top;
  transform: scale(1, 1);
}
.grandprix__contents .parallelo__button:hover .arrow {
  right: 5%;
}

/*----------------------------------------------------
  guidance
----------------------------------------------------*/
.guidance__bg {
  padding: 0 6.777vw 120px 6.777vw;
}
@media screen and (max-width: 768px) {
  .guidance__bg {
    padding: 0 20px 60px 20px;
  }
}
.guidance__contents {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
.guidance__heading {
  text-align: center;
  margin-bottom: 30px;
}
.guidance__heading .heading {
  display: inline-block;
  position: relative;
}
@media (min-width: 769px) and (max-width: 1499px) {
  .guidance__heading .heading .thunder {
    width: 2.8333333333vw;
    height: 4.6666666667vh;
  }
}
@media screen and (max-width: 768px) {
  .guidance__heading .heading .thunder {
    width: 24px;
    height: 36px;
  }
}
.guidance__heading .heading .txt-en {
  font-family: "Teko", sans-serif;
  font-weight: 600;
  letter-spacing: 0.075rem;
  font-size: 96px;
  transition: 0.4s;
  padding-left: 4rem;
}
@media (min-width: 769px) and (max-width: 1499px) {
  .guidance__heading .heading .txt-en {
    font-size: 96px;
    font-size: 6.4vw !important;
  }
}
@media screen and (max-width: 768px) {
  .guidance__heading .heading .txt-en {
    font-size: 45px;
    padding-left: 3rem;
  }
}
.guidance__heading .txt-ja {
  display: block;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.15rem;
  margin-left: 10px;
}
.guidance__accordion .accordion {
  position: relative;
  width: 100%;
  background: #fff;
  color: #010101;
}
.guidance__accordion .accordion:not(:last-child) {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .guidance__accordion .accordion:not(:last-child) {
    margin-bottom: 20px;
  }
}
.guidance__accordion .accordion__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  padding: 30px;
  background: #eee;
}
@media screen and (max-width: 768px) {
  .guidance__accordion .accordion__item {
    padding: 15px 20px;
  }
}
.guidance__accordion .accordion__item .ttl {
  font-size: 21px;
  font-weight: 600;
  letter-spacing: 0.1rem;
}
@media screen and (max-width: 768px) {
  .guidance__accordion .accordion__item .ttl {
    font-size: 14px;
  }
}
.guidance__accordion .accordion__item .arrow {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.4s;
}
@media screen and (max-width: 768px) {
  .guidance__accordion .accordion__item .arrow {
    width: 20px;
    height: 20px;
  }
}
.guidance__accordion .accordion__item .arrow i {
  font-size: 24px;
}
@media screen and (max-width: 768px) {
  .guidance__accordion .accordion__item .arrow i {
    font-size: 18px;
  }
}
.guidance__accordion .accordion__item.open .arrow {
  transform: rotate(90deg);
}
.guidance__accordion .accordion__toggle {
  display: none;
  padding: 30px;
  background: #FFF;
}
@media screen and (max-width: 768px) {
  .guidance__accordion .accordion__toggle {
    padding: 20px;
  }
}
.guidance__accordion .accordion__toggle p {
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  .guidance__accordion .accordion__toggle p {
    font-size: 12px;
  }
}
.guidance__accordion .accordion__toggle .inner-item:not(:last-child) {
  margin-bottom: 30px;
}
.guidance__accordion .accordion__toggle .inner-item__ttl {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #acacac;
}
@media screen and (max-width: 768px) {
  .guidance__accordion .accordion__toggle .inner-item__ttl {
    font-size: 13px;
    margin-bottom: 10px;
    padding-bottom: 10px;
  }
}
.guidance__accordion .accordion__toggle .inner-item__cap {
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  .guidance__accordion .accordion__toggle .inner-item__cap {
    font-size: 12px;
  }
}
.guidance__accordion .accordion__toggle .inner-item__cap a {
  font-weight: bold;
  display: inline-block;
  color: #d11800;
  transition: 0.3s;
  text-decoration: underline;
}
.guidance__accordion .accordion__toggle .inner-item__cap a:hover {
  color: #d11800;
  opacity: 0.6;
}
.guidance__accordion .accordion__toggle .inner-item__cap .strong {
  font-weight: bold;
  color: #d11800;
}

/*----------------------------------------------------
  staff
----------------------------------------------------*/
.staff__bg {
  padding: 120px 6.777vw;
}
@media screen and (max-width: 768px) {
  .staff__bg {
    padding: 60px 20px;
  }
}
.staff__contents {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
.staff__heading {
  text-align: center;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .staff__heading {
    margin-bottom: 30px;
  }
}
.staff__heading .heading {
  display: inline-block;
}
.staff__heading .heading .txt-en {
  font-size: 45px;
  font-weight: 700;
  transition: 0.4s;
}
@media (min-width: 769px) and (max-width: 1499px) {
  .staff__heading .heading .txt-en {
    font-size: 45px;
    font-size: 3vw !important;
  }
}
@media screen and (max-width: 768px) {
  .staff__heading .heading .txt-en {
    font-size: 24px;
  }
}
.staff__heading .txt-ja {
  display: block;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.15rem;
  margin-left: 10px;
}
.staff .rerated {
  display: flex;
  margin-bottom: 80px;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .staff .rerated.sp-block {
    display: block;
  }
  .staff .rerated.sp-block .rerated__item {
    width: 100%;
  }
  .staff .rerated.sp-block .rerated__item:not(:last-child) {
    margin-bottom: 50px;
  }
  .staff .rerated.sp-block .rerated__item .rerated__item__img {
    width: calc(50% - 10px);
    margin: 0 auto;
  }
  .staff .rerated.sp-block .rerated__item .rerated__item__txt {
    width: 100%;
  }
  .staff .rerated.sp-block .rerated__item .cap {
    width: 80%;
    margin: 0 auto;
  }
}
.staff .rerated.mb80 {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .staff .rerated.mb80 {
    margin-bottom: 60px;
  }
}
.staff .rerated__item {
  width: 100%;
}
.staff .rerated__item__img {
  width: calc(25% - 15px);
  margin: 0 auto;
  position: relative;
  margin-bottom: 15px;
}
.staff .rerated__item__img.list-img {
  max-width: 210px;
  width: 50%;
  margin: 0 auto;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .staff .rerated__item__img.list-img {
    max-width: 140px;
  }
}
.staff .rerated__item__img.list-img img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .staff .rerated__item__img {
    width: 50%;
  }
}
.staff .rerated__item__img .position {
  text-align: center;
  position: absolute;
  top: -5%;
  left: -5%;
  z-index: 1;
  background: #009CD1;
  color: #010101;
  padding: 10px 15px;
  transform: skewX(-15deg);
  font-size: 16px;
  font-family: "Teko", sans-serif;
  font-weight: 600;
  letter-spacing: 0.075rem;
  line-height: 1;
  min-width: 110px;
}
.staff .rerated__item__img .position span {
  transform: skewX(15deg);
  display: inline-block;
  font-style: italic;
}
@media screen and (max-width: 768px) {
  .staff .rerated__item__img .position {
    top: -6%;
    left: -3%;
    padding: 7px 10px 5px 10px;
    font-size: 12px;
  }
}
.staff .rerated__item__img .position span {
  transform: skewX(15deg);
}
.staff .rerated__item__img img {
  width: 100%;
  margin: 0 auto;
  display: block;
}
@media screen and (max-width: 768px) {
  .staff .rerated__item__img img {
    width: 100%;
  }
}
.staff .rerated__item__ttl {
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.2rem;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .staff .rerated__item__ttl {
    margin-bottom: 10px;
  }
}
.staff .rerated__item__ttl span {
  font-size: 13px;
}
.staff .rerated__item__ttl.song {
  font-size: 33px;
  font-weight: bold;
  margin-bottom: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .staff .rerated__item__ttl.song {
    font-size: 28px;
  }
}
.staff .rerated__item__cap {
  width: 100%;
  max-width: 580px;
  margin: 0 auto;
  text-align: justify;
  text-justify: inter-ideograph;
}
.staff .rerated__item__cap.song {
  font-size: 18px;
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .staff .rerated__item__cap.song {
    font-size: 13px;
  }
}

/*----------------------------------------------------
  team
----------------------------------------------------*/
.team__bg {
  padding: 0 6.777vw 120px 6.777vw;
}
@media screen and (max-width: 768px) {
  .team__bg {
    padding: 0 20px 60px 20px;
  }
}
.team__contents {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
.team__heading {
  text-align: center;
  margin-bottom: 30px;
}
.team__heading .heading {
  display: inline-block;
  position: relative;
}
.team__heading .heading .txt-en {
  font-family: "Teko", sans-serif;
  font-weight: 600;
  letter-spacing: 0.075rem;
  font-size: 96px;
  transition: 0.4s;
}
@media (min-width: 769px) and (max-width: 1499px) {
  .team__heading .heading .txt-en {
    font-size: 96px;
    font-size: 6.4vw !important;
  }
}
@media screen and (max-width: 768px) {
  .team__heading .heading .txt-en {
    font-size: 45px;
  }
}
.team__heading .txt-ja {
  display: block;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.15rem;
  margin-left: 10px;
}
.team__outline .heading {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.3rem;
  text-align: center;
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .team__outline .heading {
    font-size: 21px;
    margin-bottom: 30px;
    line-height: 1.6;
  }
}
.team__outline .chair {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 40px;
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .team__outline .chair {
    flex-wrap: wrap;
    margin-bottom: 60px;
    gap: 20px;
  }
}
.team__outline .chair__item {
  position: relative;
  width: calc(33.33% - 26.66px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .team__outline .chair__item {
    width: calc(50% - 10px);
  }
}
.team__outline .chair__item__team {
  text-align: center;
  position: absolute;
  top: -5%;
  left: -2%;
  z-index: 1;
  background: #009CD1;
  color: #010101;
  padding: 10px 15px;
  transform: skewX(-15deg);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  min-width: 110px;
}
@media screen and (max-width: 768px) {
  .team__outline .chair__item__team {
    font-size: 14px;
    padding: 5px 10px;
  }
}
.team__outline .chair__item__team span {
  transform: skewX(15deg);
}
.team__outline .chair__item__img {
  margin-bottom: 10px;
}
.team__outline .chair__item__img img {
  width: 100%;
}
.team__outline .chair__item__txt {
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.2rem;
}
@media screen and (max-width: 768px) {
  .team__outline .chair__item__txt {
    font-size: 16px;
  }
}
.team__outline .cap-container {
  position: relative;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .team__outline .cap-container {
    margin-bottom: 20px;
  }
}
.team__outline .cap-container .chair-cap {
  width: 80%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .team__outline .cap-container .chair-cap {
    width: 100%;
  }
}
.team__outline .cap-container .chair-cap__ttl {
  border-top: 1px solid #FFF;
  border-left: 1px solid #FFF;
  padding: 20px 30px 0 30px;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.15rem;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .team__outline .cap-container .chair-cap__ttl {
    padding: 10px 20px 0 20px;
    margin-bottom: 0;
  }
}
.team__outline .cap-container .chair-cap__txt {
  padding: 15px 30px 30px 30px;
  text-align: justify;
  text-justify: inter-ideograph;
}
@media screen and (max-width: 768px) {
  .team__outline .cap-container .chair-cap__txt {
    padding: 15px 20px 30px 20px;
  }
}
.team__outline .button-center {
  text-align: center;
}
.team__outline .judge {
  max-width: 760px;
  margin: 0 auto 80px;
}
@media screen and (max-width: 768px) {
  .team__outline .judge {
    padding-bottom: 20px;
    margin: 0 auto 30px;
  }
}
.team__outline .judge__heading {
  text-align: center;
  position: relative;
}
.team__outline .judge__heading:after {
  content: "";
  position: absolute;
  top: 29%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 1px;
  background: #009CD1;
  z-index: -1;
}
.team__outline .judge__heading .txt {
  position: relative;
  z-index: 1;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.075rem;
  line-height: 1;
  display: inline-block;
  background: #009CD1;
  color: #010101;
  padding: 10px 15px;
  transform: skewX(-15deg);
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .team__outline .judge__heading .txt {
    font-size: 13px;
  }
}
.team__outline .judge__heading .txt span {
  display: inline-block;
  transform: skewX(15deg);
  font-style: italic;
}
.team__outline .judge__list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  text-align: center;
}
.team__outline .judge__list ul li {
  width: 50%;
}
.team__outline .judge__list ul li:not(:last-child) {
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .team__outline .judge__list ul li {
    display: block;
    min-height: auto;
  }
}
.team__outline .judge__list ul li .list-img {
  max-width: 210px;
  width: 50%;
  margin: 0 auto;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .team__outline .judge__list ul li .list-img {
    width: 80%;
  }
}
.team__outline .judge__list ul li .list-img img {
  width: 100%;
}
.team__outline .judge__list ul li p {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.1rem;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .team__outline .judge__list ul li p {
    font-size: 13px;
    line-height: 1.5;
  }
}
.team__outline .judge__list ul li p span {
  display: inline-block;
  font-size: 11px;
}
@media screen and (max-width: 768px) {
  .team__outline .judge__list ul li p span {
    margin-bottom: 10px;
  }
}

/*----------------------------------------------------
  sms
----------------------------------------------------*/
.sms__bg {
  padding: 0 6.777vw 120px 6.777vw;
  color: #FFF;
  background: #010101;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sms__bg {
    padding: 0 20px 60px 20px;
  }
}
.sms__contents {
  position: relative;
  max-width: 1080px;
  margin: 0 auto;
  border-top: 1px solid #FFF;
  border-bottom: 1px solid #FFF;
  padding: 3vw 5vw;
}
@media screen and (max-width: 768px) {
  .sms__contents {
    padding: 20px 0;
  }
}
.sms__contents__member p {
  font-size: 18px;
  font-weight: 700;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .sms__contents__member p {
    font-size: 14px;
  }
}
.sms__contents__member a {
  min-width: 500px;
  padding: 30px 15px;
}
@media screen and (max-width: 768px) {
  .sms__contents__member a {
    min-width: 330px;
    padding: 15px;
  }
  .sms__contents__member a .txt-en {
    font-size: 14px;
  }
  .sms__contents__member a .arrow {
    right: 7%;
    width: 7px;
    height: 10px;
  }
}

/*----------------------------------------------------
  info
----------------------------------------------------*/
.info__bg {
  padding: 0 6.777vw 120px 6.777vw;
}
.info__contents {
  color: #fff;
  display: flex;
  max-width: 1080px;
  margin: 0 auto;
}
.info__contents .news {
  width: calc(50% - 40px);
}
.info__contents .news:not(:last-child) {
  margin-right: 80px;
}
.info__contents .news__heading {
  margin-bottom: 30px;
}
.info__contents .news__heading .heading {
  display: inline-block;
  position: relative;
}
.info__contents .news__heading .heading .txt-en {
  font-family: "Teko", sans-serif;
  font-weight: 600;
  letter-spacing: 0.075rem;
  font-size: 45px;
  transition: 0.4s;
}
@media (min-width: 769px) and (max-width: 1499px) {
  .info__contents .news__heading .heading .txt-en {
    font-size: 45px;
    font-size: 3vw !important;
  }
}
@media screen and (max-width: 768px) {
  .info__contents .news__heading .heading .txt-en {
    font-size: 45px;
  }
}
.info__contents .news__heading .txt-ja {
  display: block;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.15rem;
  margin-left: 10px;
}
.info__contents .news__tab {
  margin-bottom: 30px;
}
.info__contents .news__tab .tab-list {
  display: flex;
  width: 100%;
  border: 1px solid #FFF;
}
.info__contents .news__tab .tab-list .tab {
  position: relative;
  width: 25%;
  padding: 5px 15px;
  text-align: center;
  cursor: pointer;
}
.info__contents .news__tab .tab-list .tab:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: "";
  background: #009CD1;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.3s cubic-bezier(0.77, 0.2, 0.05, 1);
}
.info__contents .news__tab .tab-list .tab:hover:after {
  transform-origin: left top;
  transform: scale(1, 1);
}
.info__contents .news__tab .tab-list .tab:not(:last-child) {
  border-right: 1px solid #FFF;
}
.info__contents .news__tab .tab-list .tab p {
  font-size: 16px;
  font-family: "Teko", sans-serif;
  font-weight: 600;
  letter-spacing: 0.075rem;
}
.info__contents .news__tab .tab-list .tab.display {
  background: #009CD1;
}
.info__contents .news__post {
  overflow-y: auto;
  max-height: 600px;
}
.info__contents .news__post__link {
  font-size: 14px;
  width: 100%;
  display: block;
  color: #fff;
  font-weight: 700;
  line-height: 1.6;
  padding: 15px 15px 15px 0;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.17);
}
.info__contents .news__post__link a {
  color: #ffd700;
  transition: 0.5s;
  text-decoration: underline;
}
.info__contents .news__post__link a:hover {
  color: #fff;
  opacity: 0.6;
}
.info__contents .news__post__link .post-info {
  margin-bottom: 10px;
}
.info__contents .news__post__link .post-info__cat {
  font-family: "Teko", sans-serif;
  font-weight: 600;
  letter-spacing: 0.075rem;
  color: #010101;
  display: inline-block;
  background: #009CD1;
  padding: 3px 7px;
  line-height: 1;
  font-size: 16px;
  margin-right: 5px;
  font-weight: 400;
}
.info__contents .news__post__link .post-date {
  color: #888;
  font-size: 14px;
  font-weight: 400;
}
.info__contents .news .content_tab {
  display: none;
}
.info__contents .news .content_tab.display {
  display: block !important;
}
.info__contents .twitter {
  width: calc(50% - 40px);
}
.info__contents .twitter__heading {
  margin-bottom: 30px;
}
.info__contents .twitter__heading .heading {
  display: inline-block;
  position: relative;
}
.info__contents .twitter__heading .heading .txt-en {
  font-family: "Teko", sans-serif;
  font-weight: 600;
  letter-spacing: 0.075rem;
  font-size: 45px;
  transition: 0.4s;
  padding-left: 4rem;
}
@media (min-width: 769px) and (max-width: 1499px) {
  .info__contents .twitter__heading .heading .txt-en {
    font-size: 45px;
    font-size: 3vw !important;
  }
}
@media screen and (max-width: 768px) {
  .info__contents .twitter__heading .heading .txt-en {
    font-size: 45px;
    padding-left: 3rem;
  }
}
.info__contents .twitter__heading .txt-ja {
  display: block;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.15rem;
  margin-left: 10px;
}

@media only screen and (max-width: 768px) {
  .info__bg {
    padding: 0 20px 40px 20px;
  }
  .info__contents {
    flex-wrap: wrap;
  }
  .info__contents .news {
    width: 100%;
    margin-bottom: 50px;
  }
  .info__contents .news:not(:last-child) {
    margin-right: 0;
  }
  .info__contents .news__heading {
    justify-content: center;
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.1rem;
    text-align: center;
  }
  .info__contents .news__post {
    max-height: 380px;
  }
  .info__contents .news__post__link {
    width: 100%;
    display: block;
    transition: 0.5s;
    color: #fff;
  }
  .info__contents .news__post__link:first-child {
    padding-top: 0;
  }
  .info__contents .news__post__link:hover {
    color: #fff;
    opacity: 0.6;
  }
  .info__contents .news__post__link .post-info__cat {
    display: inline-block;
    padding: 3px 7px;
    line-height: 1;
    font-size: 13px;
  }
  .info__contents .news__post__link .post-date {
    color: #888;
    font-size: 14px;
  }
  .info__contents .twitter {
    width: 100%;
  }
  .info__contents .twitter__heading {
    justify-content: center;
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.1rem;
  }
}
/*----------------------------------------------------
  official
----------------------------------------------------*/
.official__bg {
  padding: 0 6.777vw 120px 6.777vw;
  text-align: center;
  color: #fff;
}
.official__heading {
  text-align: center;
  margin-bottom: 30px;
}
.official__heading .heading {
  display: inline-block;
  position: relative;
}
.official__heading .heading .txt-en {
  font-family: "Teko", sans-serif;
  font-weight: 600;
  letter-spacing: 0.075rem;
  font-size: 96px;
  transition: 0.4s;
}
@media (min-width: 769px) and (max-width: 1499px) {
  .official__heading .heading .txt-en {
    font-size: 96px;
    font-size: 6.4vw !important;
  }
}
@media screen and (max-width: 768px) {
  .official__heading .heading .txt-en {
    font-size: 45px;
  }
}
.official__heading .txt-ja {
  display: block;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.15rem;
  margin-left: 10px;
}
.official__contents__items {
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .official__contents__items {
    display: block;
  }
}
.official__contents__items .item {
  position: relative;
  background: #009CD1;
  color: #FFF;
  font-weight: 600;
  letter-spacing: 0.1rem;
  width: 50%;
  padding: 3vw;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .official__contents__items .item {
    width: 100%;
  }
}
.official__contents__items .item:not(:last-child) {
  border-right: 3px solid #010101;
}
@media screen and (max-width: 768px) {
  .official__contents__items .item:not(:last-child) {
    border-right: none;
    margin-bottom: 20px;
  }
}
.official__contents__items .item .arrow {
  position: absolute;
  top: 50%;
  right: 10%;
  transform: translateY(-50%);
  display: inline-block;
  width: 10px;
  height: 20px;
  background: url(../img/top/parallelo-arrow03.svg) no-repeat center;
  background-size: contain;
  transition: 0.3s cubic-bezier(0.77, 0.2, 0.05, 1);
  transition-delay: 0.2s;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .official__contents__items .item .arrow {
    right: 4%;
  }
}
.official__contents__items .item:hover {
  color: #FFF;
}
.official__contents__items .item__img {
  position: relative;
  z-index: 1;
}
.official__contents__items .item__img img {
  display: inline-block;
}
.official__contents__items .item__img.icon01 img {
  width: 100%;
  max-width: 250px;
}
@media screen and (max-width: 768px) {
  .official__contents__items .item__img.icon01 img {
    max-width: 150px;
  }
}
.official__contents__items .item__img.icon02 {
  width: 100%;
  max-width: 30px;
}
@media screen and (max-width: 768px) {
  .official__contents__items .item__img.icon02 {
    max-width: 24px;
  }
}
.official__contents__items .item__txt {
  position: relative;
  z-index: 1;
  margin-left: 15px;
  font-size: 18px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .official__contents__items .item__txt {
    font-size: 14px;
    margin-left: 10px;
  }
}

@media only screen and (max-width: 768px) {
  .official__bg {
    padding: 0 20px 60px 20px;
  }
  .official__contents__heading {
    margin-bottom: 30px;
    display: block;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.1rem;
  }
}
/*----------------------------------------------------
  twitter
----------------------------------------------------*/
.SandboxRoot {
  background: #010101 !important;
}

.twitter_wrap {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 500px;
}

.twitter_wrap iframe {
  background: #010101 !important;
  width: 100% !important;
}

/*----------------------------------------------------
  swiper
----------------------------------------------------*/
.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2050%20100%22%20style%3D%22enable-background%3Anew%200%200%2050%20100%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bopacity%3A0.9%3B%7D%20.st1%7Bfill%3A%23252525%3B%7D%20.st2%7Bfill%3A%23FFFFFF%3B%7D%3C%2Fstyle%3E%3Cg%20class%3D%22st0%22%3E%20%3Crect%20class%3D%22st1%22%20width%3D%2250%22%20height%3D%22100%22%2F%3E%3C%2Fg%3E%3Cpath%20class%3D%22st2%22%20d%3D%22M29.5%2C62.5l2.9-2.8L22.3%2C50l10.1-9.7l-2.9-2.8L18%2C48.6c-0.8%2C0.8-0.8%2C2%2C0%2C2.8L29.5%2C62.5z%22%2F%3E%3C%2Fsvg%3E") !important;
  top: 0 !important;
  left: 0px !important;
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2050%20100%22%20style%3D%22enable-background%3Anew%200%200%2050%20100%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bopacity%3A0.9%3B%7D%20.st1%7Bfill%3A%23252525%3B%7D%20.st2%7Bfill%3A%23FFFFFF%3B%7D%3C%2Fstyle%3E%3Cg%20class%3D%22st0%22%3E%20%3Crect%20class%3D%22st1%22%20width%3D%2250%22%20height%3D%22100%22%2F%3E%3C%2Fg%3E%3Cpath%20class%3D%22st2%22%20d%3D%22M20.3%2C62.5l-2.9-2.8L27.5%2C50l-10.1-9.7l2.9-2.8l11.5%2C11.1c0.8%2C0.8%2C0.8%2C2%2C0%2C2.8L20.3%2C62.5z%22%2F%3E%3C%2Fsvg%3E") !important;
  top: 0 !important;
  right: 0px !important;
}

.swiper-button-next, .swiper-button-prev {
  width: 50px !important;
  height: 100px !important;
  background-size: 50px !important;
  margin-top: 0 !important;
}
@media screen and (max-width: 768px) {
  .swiper-button-next, .swiper-button-prev {
    width: 30px !important;
    height: 70px !important;
    background-size: 40px !important;
  }
}

/*----------------------------------------------------
  video-slider
----------------------------------------------------*/
.gallery {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
}
.gallery-slider {
  width: 100%;
  max-width: 900px;
  height: auto;
  margin: 0 auto 50px auto !important;
}
.gallery-slider .swiper-slide {
  width: auto;
}
.gallery-slider .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
}
.gallery-thumbs {
  position: relative;
  width: 100%;
  padding: 0;
  overflow: hidden;
}
.gallery-thumbs .swiper-slide {
  cursor: pointer;
  width: 190px;
  height: 100px;
  text-align: center;
  overflow: hidden;
  opacity: 1;
  position: relative;
}
.gallery-thumbs .swiper-slide:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.35);
  z-index: 1;
  transition: 0.4s;
}
.gallery-thumbs .swiper-slide-active:before {
  opacity: 0;
}
.gallery-thumbs .swiper-slide img {
  cursor: pointer;
  width: 100%;
  height: auto;
}

.movie {
  position: relative;
  margin-bottom: 20px;
}
.movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
  .gallery-slider {
    margin: 0 0 15px 0 !important;
  }
  .gallery-slider .swiper-slide {
    width: 100%;
  }
  .gallery-slider .swiper-slide img {
    display: block;
    width: auto;
    height: 150px;
    margin: 0 auto;
  }
  .gallery-thumbs .swiper-slide {
    width: 120px !important;
    height: 70px;
  }
}
/*----------------------------------------------------
  video_tabs
----------------------------------------------------*/
.video {
  width: 100%;
  padding: 0 6.777vw 120px 6.777vw;
}
@media screen and (max-width: 768px) {
  .video {
    padding: 0 20px 60px 20px;
  }
}
.video__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.video__heading {
  text-align: center;
  margin-bottom: 30px;
}
.video__heading .heading {
  display: inline-block;
  position: relative;
}
.video__heading .heading .txt-en {
  font-family: "Teko", sans-serif;
  font-weight: 600;
  letter-spacing: 0.075rem;
  font-size: 96px;
  transition: 0.4s;
  padding-left: 4rem;
}
@media (min-width: 769px) and (max-width: 1499px) {
  .video__heading .heading .txt-en {
    font-size: 96px;
    font-size: 6.4vw !important;
  }
}
@media screen and (max-width: 768px) {
  .video__heading .heading .txt-en {
    font-size: 45px;
    padding-left: 3rem;
  }
}
.video__heading .txt-ja {
  display: block;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.15rem;
  margin-left: 10px;
}

label.panel-label {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  display: block;
  width: 100%;
  padding: 10px;
  color: #FFF;
  cursor: pointer;
  transition-property: background-color, color;
  transition-duration: 200ms;
}
@media screen and (max-width: 768px) {
  label.panel-label {
    padding: 5px 10px;
    font-size: 12px;
  }
}

label.panel-label:hover {
  color: #FFF;
}

#panels .panel-container {
  margin: 0 auto;
  width: 100%;
}

#panels section header label.panel-label {
  padding: 12px 24px;
  box-sizing: border-box;
}

#panels section > div {
  box-sizing: border-box;
  max-height: 0;
  opacity: 0;
  transition: opacity 600ms;
  overflow-y: hidden;
}

#panel-1-ctrl:checked ~ #panels #panel-1 > div {
  max-height: initial;
  opacity: 1;
}

#panel-2-ctrl:checked ~ #panels #panel-2 div {
  max-height: initial;
  opacity: 1;
}

#panel-3-ctrl:checked ~ #panels #panel-3 div {
  max-height: initial;
  opacity: 1;
}

#panel-1-ctrl:checked ~ #tabs-list #li-for-panel-1 {
  pointer-events: none;
  cursor: default;
  box-shadow: none;
}

#panel-1-ctrl:checked ~ #tabs-list #li-for-panel-1 label.panel-label {
  background-color: #009CD1;
}

#panel-2-ctrl:checked ~ #tabs-list #li-for-panel-2 {
  pointer-events: none;
  cursor: default;
  box-shadow: none;
}

#panel-2-ctrl:checked ~ #tabs-list #li-for-panel-2 label.panel-label {
  background-color: #009CD1;
}

#panel-3-ctrl:checked ~ #tabs-list #li-for-panel-3 {
  pointer-events: none;
  cursor: default;
  box-shadow: none;
}

#panel-3-ctrl:checked ~ #tabs-list #li-for-panel-3 label.panel-label {
  background: #009CD1;
  color: #fff;
}

#panel-3-ctrl:checked ~ #tabs-list #li-for-panel-3 label.panel-label::after {
  height: 6px;
}

ul#tabs-list {
  display: flex;
  width: 100%;
  max-width: 760px;
  margin: 0 auto 30px;
  border: 1px solid #FFF;
}

ul#tabs-list li {
  color: #fff;
  display: block;
  position: relative;
  width: 33.33%;
  text-align: center;
  cursor: pointer;
  font-size: 16px;
  font-family: "Teko", sans-serif;
  font-weight: 600;
  letter-spacing: 0.075rem;
  letter-spacing: 0.075rem;
}
ul#tabs-list li:not(:last-child) {
  border-right: 1px solid #FFF;
}
ul#tabs-list li:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: "";
  background: #009CD1;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.3s cubic-bezier(0.77, 0.2, 0.05, 1);
}
ul#tabs-list li:hover:after {
  transform-origin: left top;
  transform: scale(1, 1);
}

ul#tabs-list li:hover {
  transition: none;
}

.panel_group {
  margin: 0 auto;
}

.panel-radios {
  display: none;
}

.panel_group p {
  text-align: center;
  letter-spacing: 0.2rem;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
}

#li-for-panel-3, #li-for-panel-2, #li-for-panel-3 {
  padding-bottom: 0;
}

#tabs > nav > ul > li:last-child {
  padding-bottom: 0;
}

.swiper-button-next:after {
  display: none !important;
}

.swiper-button-prev:after {
  display: none !important;
}

.md_iframe_image {
  margin-bottom: 20px;
}

.md_popup-iframe {
  position: relative;
  display: block;
  transition: 0.4s;
}
.md_popup-iframe:hover {
  opacity: 0.6;
}
.md_popup-iframe:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background: rgba(27, 27, 27, 0.35);
}
.md_popup-iframe:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  font-family: "Font Awesome 5 Free";
  content: "\f144";
  font-weight: 900;
  color: #fff;
  font-size: 5vw;
  display: flex;
  align-items: center;
  justify-content: center;
}/*# sourceMappingURL=index.css.map */